[C#][LINQ]隨機排序的小技巧

文章分類: C#, LINQ

以前在學校學習陣列的隨機排序時, 大部分都是用swap的方法將雖機兩個元素對調, 並用迴圈隨機對調N次來達到隨機排序的效果, 寫成code大概長得就像這樣

?View Code CSHARP
            Random rand = new Random();
            int r1, r2;
            string tmpdata = "";
            for (int j = 0; j < nums.Count() * 10; ++j)
            {
                r1 = rand.Next(0, nums.Count());
                r2 = rand.Next(0, nums.Count());
 
                // swap
                tmpdata = nums[r2];
                nums[r2] = nums[r1];
                nums[r1] = tmpdata;
            }

但今天看到一個用LINQ表是的例子, 還滿有趣的, 原理是利用OrderBy來排序, 排序的根據則給近一個亂數, 就變成隨機排序了

繼續閱讀…

Bad Behavior has blocked 36 access attempts in the last 7 days.