您的位置:首页 > 编程语言 > C#

C# 数组 随机 排序

2017-02-14 13:08 274 查看
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字符串大小都不同,且大小与生成先后无关,所以按这个“键”排序后的整数序列的顺序是随机的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: