我已经接管了一些奖品绘图代码.
我可以看到这个人正在使用一个随机数来命令它们,但这实际上是随机的,因为我看不到他做过的任何地方oRand.Next(); 默认的Random是否生成实际的随机数.
Random oRand = new Random();
var res = (from l in listNew.AsQueryable<Participant>() //entities.Participant
where l.Status != 0
select l).AsEnumerable().OrderBy(p=>oRand);
Run Code Online (Sandbox Code Playgroud)
默认的Random是否生成实际的随机数.
在示例代码中,您按"RandomNumberMaker"排序(即所有值的值相同),而不是随机数.
通过比较LINQPad中的代码(按自然顺序产生数字1到1000)可以快速测试这一点.
void Main()
{
Random oRand = new Random();
var res = Enumerable.Range(1, 1000).OrderBy(p=>oRand);
res.Dump();
}
Run Code Online (Sandbox Code Playgroud)
使用此代码(以伪随机顺序对数字1到1000进行排序):
void Main()
{
Random oRand = new Random();
var res =Enumerable.Range(1, 1000).OrderBy(p=>oRand.Next());
res.Dump();
}
Run Code Online (Sandbox Code Playgroud)
有关随机.NET随机内容的介绍,请查看这篇文章,其中有一个优点是从这个伟大的漫画开始:
替代文字http://www.csharpcity.com/wp-content/uploads/2010/05/Dilbert0001.jpg
| 归档时间: |
|
| 查看次数: |
881 次 |
| 最近记录: |