我的一些代码存在一个奇怪的问题。我已经创建了一些对象列表;当尝试用新对象填充此列表时,如果我使用 F5 ,列表的所有成员将彼此完全相同地创建!
但是当我尝试通过 F11 调试此问题时,列表的成员将彼此创建不同(这是正确的)。我正在使用循环来生成列表的所有成员,并且在循环的每次迭代中,我使用new
来首先实例化类的对象,然后将其添加到列表中。
我将列表定义为:
List<MyClass> classList = new List<MyClass>();
MyClass
包含一些用户定义的成员和方法我无法弄清楚为什么F5没有正确填写列表。我试图用其他只包含字符串和整数成员的类复制同样的问题,但这种方法正常。
答案 0 :(得分:0)
问题是因为在循环的每次迭代中使用 new Random()方法。正确的方法是使用例如
rndNumber=new Random()
一旦退出循环,然后在循环中只使用
rndNumber.Next();
有关该解决方案的更多信息,请参见以下链接:
Random number generator always picks the same value when run inside a loop