我使用以下代码单步执行IEnumerable。
IEnumerable<Thing> things = ...;
foreach (Thing thing in things)
thing = method(thing);
编译器不同意它,因为我指的是迭代变量。当然,我打算改为影响列表中的基础对象。我怎么做?
现在,我使用数字迭代解决了这个问题,但那里有两个问题。一方面,恕我直言,编码不好。除此之外,它还需要我将我的东西从IEnumerable更改为IList(或者我什至应该使用List吗?!),当事情变大时,它会咬住我的下背部。
//List<Thing> things = ...;
IList<Thing> things = ...;
for (int i = 0; i < things.Count(); i++)
things[i] = method(things[i]);