double r1, r2;
double [] w1=new double [6];
int i;
Random Rnd = new Random();
r2 = 2 * Rnd.NextDouble() - 1;
for (i = 0; i <= 5; i++)
{
Rnd = new Random();
r1 = 2 * Rnd.NextDouble() - 1;//产生[-1,1]之间的数
while (r1 == r2)
{
Rnd = new Random();
r1 = 2 * Rnd.NextDouble() - 1;
}
w1[i] = r1;
Console.WriteLine(w1[i]);
}
Console.ReadLine();
这段代码的执行结果怎么都一样呀?结果应该是不一样的!并且单步执行的结果和非单步执行的结果一点都不一样!
double [] w1=new double [6];
int i;
Random Rnd = new Random();
r2 = 2 * Rnd.NextDouble() - 1;
for (i = 0; i <= 5; i++)
{
Rnd = new Random();
r1 = 2 * Rnd.NextDouble() - 1;//产生[-1,1]之间的数
while (r1 == r2)
{
Rnd = new Random();
r1 = 2 * Rnd.NextDouble() - 1;
}
w1[i] = r1;
Console.WriteLine(w1[i]);
}
Console.ReadLine();
这段代码的执行结果怎么都一样呀?结果应该是不一样的!并且单步执行的结果和非单步执行的结果一点都不一样!
double [] w1=new double [6];
int i;
Random Rnd = new Random();
r2 = 2 * Rnd.NextDouble() - 1;
for (i = 0; i <= 5; i++)
{
// Rnd = new Random(); // <--- 这句去掉
r1 = 2 * Rnd.NextDouble() - 1;//产生[-1,1]之间的数
while (r1 == r2)
{
// Rnd = new Random(); // <--- 这句也去掉
r1 = 2 * Rnd.NextDouble() - 1;
}
w1[i] = r1;
Console.WriteLine(w1[i]);
}
Console.ReadLine();