如何在C#中生成随机整数?
发布于 2010-04-25 07:19:07
Random
class用于创建随机数。(当然是伪随机的。)
示例:
Random rnd = new Random();
int month = rnd.Next(1, 13); // creates a number between 1 and 12
int dice = rnd.Next(1, 7); // creates a number between 1 and 6
int card = rnd.Next(52); // creates a number between 0 and 51
如果要创建多个随机数,则应该保留Random
实例并重用它。如果您创建的新实例在时间上太接近,它们将生成与随机生成器从系统时钟中播种的相同随机数序列。
发布于 2010-10-04 19:52:55
每次执行new Random()
时,都会对其进行初始化。这意味着在一个紧凑的循环中,你会多次得到相同的值。您应该保留单个Random
实例,并在同一实例上继续使用Next
。
//Function to get random number
private static readonly Random getrandom = new Random();
public static int GetRandomNumber(int min, int max)
{
lock(getrandom) // synchronize
{
return getrandom.Next(min, max);
}
}
发布于 2010-04-25 07:10:23
Random r = new Random();
int n = r.Next();
https://stackoverflow.com/questions/2706500
复制相似问题