static void Main(string[] args)
{
//random number gen
Console.WriteLine("Array Random Number:");
randomGenA();
Console.WriteLine("------------------");
//LIST: random movie picker...
Console.WriteLine("List Random Number:");
randomGenB();
Console.WriteLine("------------------");
Console.ReadLine();
}
static void randomGenA()
{
Random randomA = new Random();
int randomNumA = randomA.Next(51);
Console.WriteLine(randomNumA);
}
static void randomGenB()
{
Random randomB = new Random();
int randomNumB = randomB.Next(0,51);
Console.WriteLine(randomNum);
}
}
我希望他们两个都产生两个不同的随机数,但我不断从两个中获得相同的随机数。为什么这样做?
答案 0 :(得分:3)
随机声明一个类级别并在您的方法中使用它:
private static Random _random = new Random();
您的方法如下:
static void randomGenA()
{
int randomNumA = _random.Next(51);
Console.WriteLine(randomNumA);
}
static void randomGenB()
{
int randomNumB = _random.Next(0,51);
Console.WriteLine(randomNum);
}
请仔细阅读以进一步阅读:http://www.dotnetperls.com/random
答案 1 :(得分:0)
根据文件:
https://msdn.microsoft.com/en-us/library/system.random%28v=vs.110%29.aspx
具有相同种子的两个Random
将提供相同的数字序列。只是不要使用相同的种子。如果您没有指定种子,则使用系统时间。在两个实例之间等待一段时间,它将使用两个不同的系统时间。