Der merkwürdige Fall des fehlenden iEnumerablen für die Erweiterung
Eine aktuelle Diskussion über C #s Fehlen einer zip
hat eine verwandte Frage ausgelöst: Warum gibt C# keine foreach
Erweiterungsmethode für die weit verbreitete iEnumerable
] Schnittstelle? Interessanterweise enthält nur List
diese Funktionalität.
entwirren die mystery
Ist diese Auslassung eine Leistungsoptimierung? Oder gibt es einen tieferen, zugrunde liegenden Grund? Mehrere Theorien versuchen, diese spürbare Lücke zu erklären.
Die integrierte foreach
vorteil
Eine Perspektive schlägt vor, dass C#von C#integriert foreach
Anweisung angemessen die meisten Iterationsbedürfnisse angeht. Seine prägnante und lesbare Syntax wird oft bevorzugt:
foreach (Item item in list)
{
item.DoSomething();
}
Dies steht im Gegensatz zu der ausführlicheren Syntax einer Erweiterungsmethode:
list.ForEach(item => item.DoSomething());
Argumente für a foreach
erweiterung
Andere argumentieren jedoch für die praktischen Vorteile einer foreach ()
Erweiterungsmethode in bestimmten Situationen. Diese Vorteile umfassen:
foreach
Anweisung. foreach ()
Anrufe zu ketten. Eine Verschiebung in Perspektive
Zunächst zweifelhaft erkennen einige jetzt den Wert einer
foreach () Erweiterungsmethode in bestimmten Szenarien. Diese Neubewertung legt nahe, dass Microsoft in Betracht ziehen könnte, eine standardisierte
foreach
Das Fehlen dieser Erweiterungsmethode für
iEnumerable
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3