作者clifflu ( <-- 拍卖中)
看板C_Sharp
标题Re: 请高手帮我看看问题@@...
时间Mon May 10 13:12:01 2004
不好意思, 全部不引文.
主要的问题在於你使用 Random 的方式 (好吧, 大多数其实都是这个问题)
在使用 random 时请记得先 seed.
另外, MSDN 上也不建议在使用时才建立此 System.Random 物件,
相对的, 一开始就建立一个物件, 并且妥善的 seed (播种 XD)
之後重覆利用它, 方能得到较佳的效果.
重覆建立物件的缺点在於若是系统运作效能较佳,
那麽有可能会得到同样的 seed 值, 即便取用的是 DateTime.Now.Ticks
对於在同样时间需要 seed 的多个物件, MSDN 建议对以时间产生的 seed,
进行位元的运算 (bitwise operation), 便能得到适当的结果.
最後, MSDN 对密码学的乱数, 提供了
System.Security.Cryptography.RandomNumberGenerator 所衍生的类别,
你可使用 System.Security.Cryptography.RNGCryptoServiceProvider 来得到.
以上是从 MSDN 抄出来的东西, 应该能够解除疑惑吧.
最後, 你需要改用 new Random (int) 的方式来建立 seed.
--
鬼压床怎麽办
骑上去啊
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.212.129