Random的奇怪问题,谁能解释
代码1:
private void button1_Click(object sender, System.EventArgs e)
{
GetRandom();
GetRandom();
}
private void GetRandom()
{
Random R=new Random();
Console.WriteLine(R.Next(100).ToString());
}
结果输出两个一样的数字
代码2:
private void button1_Click(object sender, System.EventArgs e)
{
GetRandom();
GetRandom();
}
private Random R=new Random();
private void GetRandom()
{
Console.WriteLine(R.Next(100).ToString());
}
结果输出两个不一样的数字
代码3:
private void button1_Click(object sender, System.EventArgs e)
{
GetRandom();
System.Threading.Thread.Sleep(1000);
GetRandom();
}
private void GetRandom()
{
Random R=new Random();
Console.WriteLine(R.Next(100).ToString());
}
结果输出两个不一样的数字
有谁能解释这个现象!特别是代码1和代码2为什么输出不同的结果?