首頁 > 後端開發 > C++ > Foreach 迴圈在 C# 中如何運作以及哪些類別實作它們?

Foreach 迴圈在 C# 中如何運作以及哪些類別實作它們?

Patricia Arquette
發布: 2025-01-10 09:55:39
原創
683 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板