4
A
回答
5
如果你想随机重新排序到位你应该改组列表,以扩展方法的使用是那么简单的一行。这假定你已经有一个基于IList
的集合。
用法:myList.Shuffle();
public static void Shuffle<T>(this IList<T> list)
{
Random rng = new Random();
int n = list.Count;
while (n > 1)
{
n--;
int k = rng.Next(n + 1);
T value = list[k];
list[k] = list[n];
list[n] = value;
}
}
幸得这样的回答:中[随机排列在C#中的列表
9
注意的最快方法:每mquander的评论如,下面的答案是不执行的推荐方式“随机排序“因为它在语义上不正确,与接受的shuffle算法相比效率不高,它基于
Guid
s, 的私有实现细节,甚至滥用LINQ查询语法。然而,OP所要求的是“最少量的代码”(根据自己的书面形式而不是由框架处理)为 。
var randomOrdering = yourList.OrderBy(o => Guid.NewGuid());
相关问题
- 1. 流星排序集合随机
- 2. 杰基尔随机排序集合
- 3. 重新排序集合C#
- 4. 随机快速排序C#
- 5. 随机快速排序
- 6. PHP随机重新排序数组
- 7. 重新排序字典随机
- 8. LINQ查询排序集合
- 9. 最快的方式排列
- 10. 快速排序与随机枢轴
- 11. C++随机快速排序错误
- 12. 合并排序的方式比插入排序更快谜题
- 13. 更新MySQL表随着随机排序
- 14. 用linq排序可观察的集合
- 15. 寻呼在LINQ + MVC使用随机有序集合
- 16. 随机生成的密码shuffle(随机重新排列)
- 17. Java随机集合
- 18. 最快的方式从数据库中获得随机记录
- 19. 最快的方式通过LINQ
- 20. 重新排列(重新排序,排序)阵列,你所希望的方式PHP
- 21. 合并排序随机拆分
- 22. 的随机重新排序的矩阵R中
- 23. 使用LINQ生成一个随机数的随机大小集合
- 24. 以最快的方式过滤,排序和分页方法
- 25. EF/Linq - 分组排序之前的排序集合
- 26. 对随机二级值的PHP数组重新排序
- 27. PHP随机排序
- 28. RichTextBox - 随机排序
- 29. Simpledata随机排序
- 30. jquery随机排序
可能重复(http://stackoverflow.com/questions/273313/随机化一个清单) – nawfal 2013-02-12 10:51:03