任何人都可以给我一些在执行时可能出现的错误,使用C#中的foreach结构无法检测编译吗?
答案 0 :(得分:2)
最常见的是修改你的收藏
foreach (var item in collection)
{
//the following statements would generate an error.
collection.Add(new Item());
collection.Remove(item);
}
在枚举时不能修改集合结构。 您可以修改集合中的项目,而不是集合。
您可能遇到的另一个错误是该集合是否为null。在枚举之前检查集合是否为空是个好主意。
我认为得到任何其他错误是因为语句中的逻辑错误,而不是因为你处于foreach循环中。