早在我学习foreach
时,我在某处读到了以下内容:
foreach (var element in enumerable)
{
// do something with element
}
基本上是这样的:
using (var enumerator = enumerable.GetEnumerator())
{
while (enumerator.MoveNext())
{
var element = enumerator.Current;
// do something with element
}
}
如果
IEnumerator
和IEnumerator<T>
都没有实现IDisposable
,为什么还要编译此代码? C#语言规范似乎只在using
上下文中提到了IDisposable
语句。这样的
using
语句有什么作用? 最佳答案
请检查以下有关的link ,以获取每个声明。如果可能,它将try/finally块与Dispose调用一起使用。这是使用语句在后面的代码。
关于c# - 为什么using语句在IEnumerator上起作用,它做什么用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42953719/