C#迴圈中使用Random生成隨機數有重複問題

qq_23944441發表於2018-06-01

如果在高併發的情況下,Random類所取到的系統時鐘種子接近甚至完全一樣,就很有可能出現重複,這裡用迴圈來舉例

for (int i = 0; i < 10; i++)
{
    Random rd = new Random();  //無參即為使用系統時鐘為種子
    Console.WriteLine(rd.Next().ToString());
}


解決方法使用System.Guid 作為種子

Random rd = new Random(Guid.NewGuid().GetHashCode()); 



轉載:http://www.uuxin.com/post/257.html

相關文章