我想要的是一个实用的C#随机数生成器,这样我就可以轻松地使用,例如:
int dummyAge = MathHelpers.GetRandomNumber(20,70);
我希望生成的数据看起来类似随机,例如用于生成虚拟数据。
大多数关于此话题的stack overflow问题和网络上的讨论都涉及到关于真正的随机性的哲学探讨,而这不是我目前感兴趣的。很久以前我用PHP实现了一个使用毫秒/睡眠时间的程序,可以生成虚拟数据,我只是想快速地在C#中实现这个程序。
请问有没有基于某些时间种子等的快速、比较不错的C#随机数生成器,或者如何更改以下代码,以避免连续生成相同的5个数字?
using System;
namespace TestRandom23874
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("the random number is: {0}", MathHelpers.GetRandomNumber(1, 10));
Console.WriteLine("the random number is: {0}", MathHelpers.GetRandomNumber(1, 10));
Console.WriteLine("the random number is: {0}", MathHelpers.GetRandomNumber(1, 10));
Console.WriteLine("the random number is: {0}", MathHelpers.GetRandomNumber(1, 10));
Console.WriteLine("the random number is: {0}", MathHelpers.GetRandomNumber(1, 10));
Console.ReadLine();
}
}
public class MathHelpers
{
public static int GetRandomNumber(int min, int max)
{
Random random = new Random();
return random.Next(min, max);
}
}
}