首页 > 编程语言 > 详细

C# 数组 随机 排序

时间:2017-02-14 15:01:17      阅读:266      评论:0      收藏:0      [点我收藏+]
            int[] arrInt = new int[100];
            for (int i = 0; i < 100; i++)
            {
                arrInt[i] = i;
            }
            arrInt = arrInt.OrderBy(c => Guid.NewGuid()).ToArray<int>();
            foreach (var item in arrInt)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();

反编译后

    int[] arrInt = new int[100];
    for (int i = 0; i < 100; i++)
    {
        arrInt[i] = i;
    }
    arrInt = (from c in arrInt
    orderby Guid.NewGuid()
    select c).ToArray<int>();
    int[] array = arrInt;
    for (int j = 0; j < array.Length; j++)
    {
        int item = array[j];
        Console.WriteLine(item);
    }
    Console.ReadKey();

实质

C#3.0新增的Linq技术中的OrderBy方法排序,排序的依据是与原序列元素对应生成的一个“键”——Grid.NewGuid()方法返回的一个随机32位不重复Guid字符串。因为每次生成的Guid字符串大小都不同,且大小与生成先后无关,所以按这个“键”排序后的整数序列的顺序是随机的。

C# 数组 随机 排序

原文:http://www.cnblogs.com/zhangchengye/p/6397169.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!