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

实质

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

C# 数组 随机 排序的更多相关文章

  1. JS数组随机排序

    var arr=[1,2,3,4,5]; arr.sort(function(a,b){ var v=Math.random()>0.5?1:-1; console.log(a,b,v); re ...

  2. 关于JavaScript的数组随机排序

    昨天了解了一下Fisher–Yates shuffle费雪耶兹随机置乱算法,现在再来看看下面这个曾经网上常见的一个写法: function shuffle(arr) { arr.sort(functi ...

  3. js 数组随机排序

    仅用于个人学习记录 javascript 数组随机排序1.最简洁的方法:function randomsort(a, b) {    return Math.random()>.5 ? -1 : ...

  4. 比较两种数组随机排序方法的效率 JavaScript版

    //比较2中数组随机排序方法的效率 JavaScript版 //randon1思路 //当len=5时候,从0-5中随机3一个放入i=0, // 从0-3随机一个2放入i=2 // 从0-2随机一个1 ...

  5. java数组随机排序实现代码

    例一 代码如下 复制代码 import java.lang.Math;import java.util.Scanner;class AarrayReverse{ public static void ...

  6. 【JavaScript】数组随机排序 之 Fisher–Yates 洗牌算法

    Fisher–Yates随机置乱算法也被称做高纳德置乱算法,通俗说就是生成一个有限集合的随机排列.Fisher-Yates随机置乱算法是无偏的,所以每个排列都是等可能的,当前使用的Fisher-Yat ...

  7. js 数组 随机排序

    方法一: function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1) + min) } fu ...

  8. js------数组随机排序和去重

    let arr = ['g', 'b', 'c', 'd', 'e', 'a', 'g', 'b', 'c']; // 数组随机排序(原数组被修改)Array.prototype.randomSort ...

  9. js实现数组内元素随机排序

    其实蛮容易实现的,关键是简洁与否,下面是我自己写的. function randomSort(a){ var arr = a, random = [], len = arr.length; for ( ...

随机推荐

  1. vue2.0 自定义时间过滤器

    html <td>{{serverInfo.serverTime| formatTime('YMDHMS')}}</td> js serverTime: new Date(). ...

  2. BZOJ4103 [Thu Summer Camp 2015]异或运算 【可持久化trie树】

    题目链接 BZOJ4103 题解 一眼看过去是二维结构,实则未然需要树套树之类的数据结构 区域异或和,就一定是可持久化\(trie\)树 观察数据,\(m\)非常大,而\(n\)和\(p\)比较小,甚 ...

  3. 20165218 2017-2018-1 《Java程序设计》第三周学习总结

    20165218 2017-2018-1 <Java程序设计>第三周学习总结 教材学习内容总结-第四章 类与对象 面向对象语言 需要完成某种任务时,首先要想到,谁去完成任务,即哪个对象去完 ...

  4. 第一次BC

    BestCoder Round #90 1001 Kblack loves flag 太弱只写了这一道水题. 首先这个题面就是,完全不知道它在说什么.开始5mins后我还完全不知道这个题想要表达什么. ...

  5. 【状压DP】【UVA11825】 Hackers' Crackdown

    传送门 Description 你是一个hacker,侵入了一个有着n台计算机(编号为1.2.3....n)的网络.一共有n种服务,每台计算机都运行着所有服务.对于每台计算机,你都可以选择一项服务,终 ...

  6. 被引用的外部JS存在window.onload时,判断当前页面是否已存在window.onload,并进行相应处理

    如果页面a.html引用了b.js,b.js里的方法需要在页面资源加载完成后执行,即在window.onload里执行:这时如果a.html里使用了window.onload方法,b.js就不能重复调 ...

  7. JavaScript关键字return的用法

    return 语句从当前函数退出,并从那个函数返回一个值. 语法: 1 return[()[expression][]]; 可选项 expression 参数是要从函数返回的值.如果省略,则该函数不返 ...

  8. [linux]ubuntu限速软件

    wondersharper 1 安装wondershaper:sudo apt-get install wondershaper2 限制下载,上传速度(1500是限制下载速度(实际限速150k左右), ...

  9. c++11新特性之nullptr

    在c++11中,nullptr可完全代替NULL.  然而NULL和nullptr还是稍有不同,NULL可被转化为int类型,而nullptr不能.因此nullptr对NULL在进行模板推导或者函数重 ...

  10. java synchronized 用法

    Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并发线程访问同一个对象object中的这个synchronized(this ...