c#数组乱序,打乱数组

按照random随机给出的index,进行两两交换,当然也存在与上一次一样的数组结果。官方还有一种ICompare的比较器,只是打乱顺序这个没用起来,不知道该怎么搞,╮(╯_╰)╭

public static List<T> SortRandom<T>(this List<T> collection)
        {
            for (int i = collection.Count - 1; i > 0; i--)
            {
                Random rand = new Random();
                int p = rand.Next(i);
                var temp = collection[p];
                collection[p] = collection[i];
                collection[i] = temp;
            }
            return collection;
        }

事务处理,不过这个返回结果好像不怎么对

var arr = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
arr.Sort(delegate(int a, int b) { return (new Random()).Next(-1, 1); });
原文地址:https://www.cnblogs.com/danlis/p/5312124.html