请考虑以下内容:
SomeObject o1 = new SomeObject("obj 1");
SomeObject o2 = new SomeObject("obj 2");
for (int i = 0; i < 10; i++)
{
o1.Method();
o2.Method();
}
位置:
public class SomeObject
{
string name;
public SomeObject(string name)
{
this.name = name;
}
public void Method()
{
Console.WriteLine($"{name}: {new Random().Next(1, 101)}");
}
}
输出:
obj 1:99
obj 2:99
obj 1:99
obj 2:99
obj 1:99
obj 2:99
obj 1:99
obj 2:99
obj 1:99
obj 2:99
那看起来不像是随机数
答案 0 :(得分:1)
您需要创建一次Random
,然后多次使用。
赞:
SomeObject o1 = new SomeObject("obj 1");
SomeObject o2 = new SomeObject("obj 2");
var random = new Random();
for (int i = 0; i < 10; i++)
{
o1.Method(random);
o2.Method(random);
}
使用此类:
public class SomeObject
{
string name;
public SomeObject(string name)
{
this.name = name;
}
public void Method(Random random)
{
Console.WriteLine($"{name}: {random.Next(1, 101)}");
}
}
或者您可以在构造函数中传递Random
实例。重要的是:数字只是同一实例中的“随机”。
答案 1 :(得分:0)