首页 >后端开发 >C++ >Foreach 循环在 C# 中如何工作以及哪些类实现它们?

Foreach 循环在 C# 中如何工作以及哪些类实现它们?

Patricia Arquette
Patricia Arquette原创
2025-01-10 09:55:39717浏览

How Do Foreach Loops Work in C#, and Which Classes Implement Them?

理解 C# 的 foreach 循环及其实现

哪些类使用 foreach 循环?

C# 中的 foreach 循环在实现 IEnumerableIEnumerable<T> 的类中被大量使用。 这包括提供返回 GetEnumerator()IEnumeratorIEnumerator<T> 方法的任何类。 本质上,这涵盖了所有实现 ICollectionICollection<T> 的类,例如数组、列表和其他集合。

foreach循环机制:

标准 foreach 循环(例如 foreach (int i in obj) { ... })在功能上类似于:

<code class="language-csharp">var tmp = obj.GetEnumerator();
int i; // C# 4.0 and earlier
while (tmp.MoveNext()) {
    int i; // C# 5.0 and later
    i = tmp.Current;
    { ... } // Loop body
}</code>

重要注意事项:如果枚举器 (tmp) 实现 IDisposable,它将被丢弃(类似于 using 语句)。 int i 的声明根据 C# 版本的不同而有所不同。在 C# 5.0 及更高版本中,它在循环内声明;早期版本在外部声明它。在匿名方法或循环内的 lambda 表达式中使用 i 时,这种区别至关重要。

以上是Foreach 循环在 C# 中如何工作以及哪些类实现它们?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn