Mar*_*ell 6

由于我们无法知道实施是什么,唯一安全的答案是"是".

但是,IEnumerator直接使用是非常罕见的- foreach更常见.对于通用,IEnumerator<T>您可以使用using语句:

using(var iter = obj.GetEnumerator()) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

即使没有通用版本,你也可以作弊:

IEnumerator iter = obj.GetEnumerator();
using(iter as IDisposable) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

如果它是IDisposable将会处理它