获取随机子集合的最佳 LINQ 查询 - Shuffle [英] Optimal LINQ query to get a random sub collection - Shuffle

查看:33
本文介绍了获取随机子集合的最佳 LINQ 查询 - Shuffle的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请提出一种最简单的方法,从具有N"个项目的集合中随机获得n"个计数的随机混洗集合.其中 n <= N

Please suggest an easiest way to get a random shuffled collection of count 'n' from a collection having 'N' items. where n <= N

推荐答案

另一种选择是使用 OrderBy 并对 GUID 值进行排序,您可以使用:

Another option is to use OrderBy and to sort on a GUID value, which you can do so using:

var result = sequence.OrderBy(elem => Guid.NewGuid());

我做了一些实证测试,让自己相信上述实际上会生成随机分布(似乎确实如此).您可以在随机重新排序数组的技术中查看我的结果.

I did some empirical tests to convince myself that the above actually generates a random distribution (which it appears to do). You can see my results at Techniques for Randomly Reordering an Array.

这篇关于获取随机子集合的最佳 LINQ 查询 - Shuffle的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆