让我们先从下面的代码片段:更改项目直通方法
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