2017-04-30 40 views
0

我有一些值存儲在數據庫中,我正在查詢。如何使用foreach循環更新列表中的值

因此,對於每個對象,我想將值保存到我的列表中。

目前我做這件事,因爲我再次呼籲PR第二功能,如:

foreach (var obj in results) 
{ 
    MyList.Add (ValueSavedOnDatabase); 

} 

但我的問題是,如果我有,例如,對數據庫的20個對象,那麼這個函數會將值保存在列表中的前20個索引中。 然後每次調用該函數(每秒一次)時,它會將20個新索引添加到列表中,而不是僅覆蓋我需要的20個索引。 所以3秒後,我目前在這個列表中獲得60個索引(當我只想要20個時)。

有沒有人有建議,我如何能實現這種覆蓋,列表中的這些索引,而不是繼續創建新的索引?

我正在使用Unity和C#。

回答

1

您需要在循環之前清空列表:

MyList.Clear(); // Clear the list 

foreach (var obj in results) { // do whatever you need 
    MyList.Add (ValueSavedOnDatabase); 
} 

如果列表中的大小總是每次每次調用一樣的,你可以這樣做:

int i = 0; 
foreach (var obj in results) { 
    MyList[i] = ValueSavedOnDatabase; 
    i++; 
} 

NB我只建議這最後,以防你正在使用ArrayList

+0

非常感謝granmirupa,這個訣竅:) – sandaola