【发布时间】:2012-02-06 23:00:45
【问题描述】:
为了避免“枚举器实例化后集合被修改”错误 在遍历 Request.ServerVariables.Keys 集合之前,我发现了一些使用以下行的建议:
IEnumerator en = Request.ServerVariables.Keys.GetEnumerator();
en.MoveNext();
查看MSDN example,他们将服务器变量设置为一个集合,然后在不调用 GetEnumerator 或 MoveNext 的情况下遍历该集合。
两个问题:
- 为什么我们需要调用 GetEnumerator 和 MoveNext?
- 如果使用 ASP.NET 和 C# 4.0,哪种方法更好?
【问题讨论】: