前两天开发一个奇葩的功能,突然间想到了用打乱顺序的方式解决。记录代码如下:
/// <summary> /// 把收集回来的列表打乱顺序之后返回 /// </summary> /// <returns></returns> public IList<string> RandomSort(IList<string> ListStr) { Random rand = new Random(); int iTarget = 0; string str = ""; for (int i = 0; i < ListStr.Count; i++) { iTarget = rand.Next(0, ListStr.Count); str = ListStr[i]; ListStr[i] = ListStr[iTarget]; ListStr[iTarget] = str; } return ListStr; }
原理很简单,循环所有 =》 第N位,与"随机数"位交换。
时间: 2024-10-17 00:16:39