foreach:自动将代码置入try-finally块;若类型实现了IDispose接口,它会在循环结束后自动调用Dispose方法。
using是try-finally的语法糖。
集合版本:任何对集合进行增删操作的都会使集合版本+1;
foreach使用的是迭代器,每次遍历都会针对集合的版本进行确认,如果版本不对则会抛出异常;
for使用的是索引器,不会对集合版本进行判断。
因为版本检测的缘故,foreach不能代替for
标签:try,finally,自动,foreach,版本,集合 From: https://www.cnblogs.com/wen-chen/p/16981489.html