Heim >Backend-Entwicklung >C++ >Warum verfügt .NETs „IEnumerable' nicht über eine „ForEach'-Erweiterungsmethode?
IEnumerable
: Die fehlende ForEach
ErweiterungsmethodeIm Gegensatz zu vielen anderen Sprachen verzichtet das .NET Framework überraschenderweise auf eine ForEach
-Erweiterungsmethode für IEnumerable
. Diese Abwesenheit wirft oft Fragen auf, wobei Leistungsbedenken häufig als möglicher Grund genannt werden.
Die in C# integrierte foreach
-Anweisung bewältigt die meisten Iterationsanforderungen bereits effektiv. Das Hinzufügen einer ForEach
-Erweiterungsmethode wäre überflüssig.
Darüber hinaus übertrifft die Lesbarkeit der foreach
-Anweisung im Allgemeinen die eines ForEach()
-Methodenaufrufs:
<code class="language-csharp">// Using ForEach() extension method list.ForEach(item => item.DoSomething()); // Using foreach statement foreach (var item in list) { item.DoSomething(); }</code>
Während foreach
mehr Tastenanschläge erfordert, setzt sich oft die Klarheit durch.
In jüngsten Gesprächen wurden die potenziellen Vorteile einer ForEach()
Erweiterungsmethode hervorgehoben:
ForEach()
bietet im Gegensatz zu den Laufzeitprüfungen von foreach
eine Typprüfung zur Kompilierungszeit.ForEach()
, veranschaulicht durch objects.ForEach(DoSomething)
.ForEach()
ermöglicht die Methodenverkettung.Diese Vorteile legen nahe, dass eine standardisierte ForEach()
Methode eine wertvolle Ergänzung für zukünftige .NET-Versionen sein könnte.
Das obige ist der detaillierte Inhalt vonWarum verfügt .NETs „IEnumerable' nicht über eine „ForEach'-Erweiterungsmethode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!