首頁 > 後端開發 > C++ > 為什麼 .NET 的「IEnumerable」沒有「ForEach」擴充方法?

為什麼 .NET 的「IEnumerable」沒有「ForEach」擴充方法?

Linda Hamilton
發布: 2025-01-22 02:47:12
原創
204 人瀏覽過

Why Doesn't .NET's `IEnumerable` Have a `ForEach` Extension Method?

.NET 的 IEnumerable:缺失的 ForEach 擴充方法

與許多其他語言不同,.NET Framework 令人驚訝地省略了 ForEachIEnumerable 擴充方法。 這種缺席經常引發問題,性能擔憂經常被認為是潛在原因。

為什麼省略?

C# 的內建 foreach 語句已經可以有效地處理大多數迭代需求。 增加 ForEach 擴充方法是多餘的。

此外,foreach語句的可讀性通常超過ForEach()方法呼叫:

<code class="language-csharp">// Using ForEach() extension method
list.ForEach(item => item.DoSomething());

// Using foreach statement
foreach (var item in list)
{
    item.DoSomething();
}</code>
登入後複製

雖然foreach需要更多的擊鍵,但它的清晰度往往會勝出。

重新考慮需求

最近的對話強調了 ForEach() 擴展方法的潛在好處:

  • 編譯時型別安全: ForEach() 提供編譯時類型檢查,與 foreach 的執行時間檢查不同。
  • 簡潔的委託調用:使用ForEach()呼叫委託更加緊湊,例如objects.ForEach(DoSomething)
  • 方法鏈的潛力:雖然實際價值和潛在的缺點需要仔細考慮,但ForEach()支持方法鏈。

這些優點表明標準化的 ForEach() 方法可能是未來 .NET 版本的寶貴補充。

以上是為什麼 .NET 的「IEnumerable」沒有「ForEach」擴充方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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