讓我們先從下面的代碼片段:更改項目直通方法
Foreach(Record item in RecordList){
..
item = UpdateRecord(item, 5);
..
}
的UpdateRecode功能改變了項目的一些領域,並返回改變的對象。在這種情況下,編譯器會拋出一個異常,表示該項無法在每次迭代中更新。
現在UpdateRecord方法改變,使其返回void和片段是這樣的:
Foreach(Record item in RecordList){
..
UpdateRecord(item, 5);
..
}
在這種情況下,該項目將被更新,因爲記錄是引用類型。但它使代碼不可讀。
我正在做的項目有很多foreach循環,而且代碼一遍又一遍,所以我想創建更新記錄部分的方法。有沒有一個很好的方法來做到這一點?使代碼更具可讀性,而不是進一步摧毀它的一種方法?
謝謝,我認爲這是在我的情況下唯一正確的方法。 – Sorskoot 2008-11-15 15:53:25
使用迭代器模式更新集合中的項目絕對沒有錯。迭代時,您不想在集合中添加或刪除項目,這就是編譯器所抱怨的。 – 2008-11-15 17:39:40