Re: 請高手幫我看看問題@@...

看板C_Sharp (C#)作者 ( <-- 拍賣中)時間21年前 (2004/05/10 21:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
不好意思, 全部不引文. 主要的問題在於你使用 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
文章代碼(AID): #10dttlfU (C_Sharp)
文章代碼(AID): #10dttlfU (C_Sharp)