我已经接管了一些有奖的绘图代码。
我可以看到这个人正在使用一个随机数来对它们进行排序,但是这实际上是随机的吗,因为我看不到他做了oRand.Next()的任何地方;默认的随机数是否生成了一个实际的随机数。
Random oRand = new Random();
var res = (from l in listNew.AsQueryable<Participant>() //entities.Participant
where l.Status != 0
select l).AsEnumerable().OrderBy(p=>oRand);发布于 2010-08-02 08:37:03
我认为您需要使用oRand.Next()来获取随机数。这看起来将最终按照Random对象对它们进行排序。我不认为单独使用oRand会导致lambda表达式调用Next()。
在任何情况下,当您使用oRand = new Random(); oRand.Next();时,您都会使用时间作为种子来获得伪随机数。这意味着有一个每次都相同的数字序列,你开始的那个数字取决于时间--这通常是通过一个函数完成的,你传递最后一个随机数字来获得下一个随机数字,它有一个非常长的周期,这些数字有一种随机的感觉(所以它不仅仅是f(x) => x+1或类似的东西)。
这可能还不够好,但对于随机的定义来说,它是“随机的”。
https://stackoverflow.com/questions/3384268
复制相似问题