我正在生成许多随机数,我需要一个好的函数,因为这没有多大帮助:
public static class Randomizer
{
static Random random = new Random((int)DateTime.Now.Ticks);
public static int RandomInteger(int minimum, int maximum)
{
return random.Next(minimum, maximum + 1);
}
public static double RandomDouble()
{
return random.NextDouble();
}
}
当我使用这个类时,我的数字经常是相同的。您知道如何提高随机发生器输出的随机性吗?
您的数字相同的原因是您每次调用该类时都会创建一个新的随机数,这意味着它将使用 DateTime.Now.Ticks 中的相同数字进行种子
您应该将其设为非静态类。实例化一次,然后从对象中重复调用相同的函数