List<string> list1 = new List<string>() { "张三", "李四", "小熊", "小利", "小老" };
Random r = new Random();
list1 = list1.OrderBy(x => r.Next()).ToList();
Console.WriteLine(string.Join(",", list1));
Console.ReadKey();我的问题:
r.Next()随机生成一个数字,list1按照这个数字重新排序
可是,如果删除Random r = new Random();直接写成:list1 = list1.OrderBy(x => new Random().Next()).ToList();为什么不能重新排序了?
Random r = new Random();
list1 = list1.OrderBy(x => r.Next()).ToList();
Console.WriteLine(string.Join(",", list1));
Console.ReadKey();我的问题:
r.Next()随机生成一个数字,list1按照这个数字重新排序
可是,如果删除Random r = new Random();直接写成:list1 = list1.OrderBy(x => new Random().Next()).ToList();为什么不能重新排序了?
解决方案 »
- C# 线程池如何使用?
- Gridview分页后导出excel,只能导入一页
- 请教浏览器对URL的处理,为什么post前后会有所不同。。
- 面试题
- 异常:从索引 0 处开始,初始化字符串的格式不符合规范。
- 如何改变Form.Size的值
- 初学者请教:看什么书
- 命名空间“System.Web.UI.WebControls”中不存在类型或命名空间名称“ListView”
- 刚学 数据库数据不能更新不能删除 请大侠多指教
- 请教关于C#中的日期类型
- 用了2个混淆软件(dotNET_Reactor,Obfuscator),混淆后发现都被360说是有病毒,哪位大侠给个好使的。
- 用C#开发QQ聊天窗口中,视频语音的一个功能
你这个是每次new一个,排序规则未知
通过创建单个而不是多个 Random 对象可以避免此问题.若要提高性能,请创建一个随时间推移能生成多个随机数的 Random 对象,而不要反复新建会生成同一个随机数的 Random 对象。