F11正确调试但F5没有

时间:2012-07-12 04:15:18

标签: c# visual-studio-2010

我的一些代码存在一个奇怪的问题。我已经创建了一些对象列表;当尝试用新对象填充此列表时,如果我使用 F5 ,列表的所有成员将彼此完全相同地创建!

但是当我尝试通过 F11 调试此问题时,列表的成员将彼此创建不同(这是正确的)。我正在使用循环来生成列表的所有成员,并且在循环的每次迭代中,我使用new来首先实例化类的对象,然后将其添加到列表中。

我将列表定义为:

  1. List<MyClass> classList = new List<MyClass>();
  2. MyClass包含一些用户定义的成员和方法
  3. 我无法弄清楚为什么F5没有正确填写列表。我试图用其他只包含字符串和整数成员的类复制同样的问题,但这种方法正常。

1 个答案:

答案 0 :(得分:0)

问题是因为在循环的每次迭代中使用 new Random()方法。正确的方法是使用例如

rndNumber=new Random() 

一旦退出循环,然后在循环中只使用

rndNumber.Next();

有关该解决方案的更多信息,请参见以下链接:
   Random number generator always picks the same value when run inside a loop