在C#中,要使用亂數產生器是非常容易的
他的建構子有兩種,一種是有參數的,一種是沒有參數的,沒有參數的就會拿時間來當作亂數種子來產生亂數,有參數的則會拿該數值跟種子來產生亂數。
所以如果在非常短的時間內,連續要產生器吐出亂數出來,就要注意種子的給法,不然就會出現一堆都是相同的亂數,因為即便你用了無參數的建構子,他用了「時間」來當參數,但是程式跑得太快,時間還沒有變動下,出來的亂數就會一樣了。
所以建議自己傳入參數,而且每次產生亂數產生器的時候,都給一個當下時間+不定變數,比方給loop的i加上時間的Millisecond或者更複雜等等。
Random RandNum = new Random();
Random RandNum = new Random( DateTime.Now.Millisecond + i );