如何播种唯一的随机数

本文关键字:随机数 唯一 何播种 | 更新日期: 2023-09-27 17:56:34

using System;
public class HCW
{
    public void Main()
    {
        for (int i=0;i<10;i++){
        Random rnd = new Random();
int ID = rnd.Next(1, 999); // creates a number between 1 and 12
            Console.WriteLine(ID);  }
}
}   

我得到相同的 10 个生成的数字。如何制作 10 个不同的唯一数字?

如何播种唯一的随机数

你不应该每次迭代都创建新的 Random 对象,因为它需要当前时间作为种子,在这么短的时间内不会改变。只需将rnd初始化放在循环之外即可。

Random rnd = new Random();
for (int i=0;i<10;i++)
    Console.WriteLine(rnd.Next(1,999));