我有一个类:它产生的随机数总是相等
public class MyClass
{
public int MyMethod()
{
Random rand = new Random();
return rand.Next() % 10 + 1;
}
}
而2个对象:
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
的问题是,obj1.MyMethod() == obj2.MyMethod()
始终。为什么会发生?什么是避免它的最好方法?
谢谢你的明确解释。只要系统允许,我会尽快接受。 – Leri
请参阅[本答案](http://stackoverflow.com/a/768001/97614)为什么您的静态实现可能不安全。您需要锁定对'rand.Next'的访问以防止随机实例可能发生的内部损坏 –
@SamHolder:Marc Gravell答案? –