2012-07-12 33 views
0

我的一些代碼存在一個奇怪的問題。我創建了一些對象的列表;當試圖用新對象填充這個列表時,如果我使用F5,列表中的所有成員將被創建爲完全相同!F11調試正確,但F5不是

但是,當我嘗試通過F11調試此問題時,那麼列表中的成員將被創建爲彼此不同(這是正確的)。我使用循環來生成列表的所有成員,並且在循環的每次迭代中,我使用new來首先實例化類的對象,然後將其添加到列表中。

我定義列表如下:

  1. List<MyClass> classList = new List<MyClass>();
  2. MyClass包含我無法弄清楚,爲什麼F5不正確填寫列表中的一些用戶定義的成員和方法

。我試圖用其他只包含字符串和整數成員的類複製相同的問題,但是這種方式正常工作。

+0

您是否可能每次使用'new Random'對象生成元素?或者使用不同的線程? – 2012-07-12 04:17:25

+4

如果您想讓任何人有機會弄清楚這一點,您需要發佈相關代碼... – 2012-07-12 04:17:27

+0

請顯示更多代碼。循環將特別感興趣。要格式化代碼,請在代碼的第一行之前添加一個空行,然後將該片段縮進四個額外的空格。 – dasblinkenlight 2012-07-12 04:21:47

回答

0

問題是因爲在循環的每次迭代中使用新的Random()方法。這樣做的正確方法是

rndNumber=new Random() 

一次使用例如圈外,然後在迴路中只使用在溶液中

rndNumber.Next(); 

更多信息可以在下面被找到鏈接:
Random number generator always picks the same value when run inside a loop

+0

如果您的問題重複,您應該發佈代碼和/或一起刪除問題。 – 2012-07-12 19:42:03