"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi C # n'a-t-il pas de méthode d'extension foreach pour IEnumerable?

Pourquoi C # n'a-t-il pas de méthode d'extension foreach pour IEnumerable?

Publié le 2025-02-06
Parcourir:456

Why Doesn't C# Have a ForEach Extension Method for IEnumerable?

Le cas curieux de l'extension foreach ienumerable manquante

Une discussion récente sur le manque de C # de une fonction zip a déclenché une question connexe: pourquoi C # ne fournit-il pas une méthode d'extension foreach pour la grande ] interface? Curieusement, seul list inclut cette fonctionnalité.

démêler le mystère

Cette omission est-elle une optimisation des performances? Ou y a-t-il une raison plus profonde et sous-jacente? Plusieurs théories tentent d'expliquer cet écart notable.

le

foreach avantage Une perspective suggère que la déclaration intégrée de C #

foreach

répond adéquatement à la plupart des besoins d'itération. Sa syntaxe concise et lisible est souvent préférée:

foreach (item item dans la liste) { item.doSomething (); }
foreach (Item item in list)
{
    item.DoSomething();
}

list.ForEach (item => item.dosomething ());
list.ForEach(item => item.DoSomething());
arguments pour un

foreach extension Cependant, d'autres plaident pour les avantages pratiques d'un

foreach ()

de la méthode d'extension dans des situations spécifiques. Ces avantages incluent:

    Sécurité de type amélioré:
  • Une méthode d'extension offre une vérification de type de compilation-temps, contrairement à la vérification d'exécution de l'instruction foreach .
  • Syntaxe rationalisée:
  • Il simplifie les délégués invoqués, comme le montrent "ObjectS.ForEach (Dosomething);".
  • Méthode Potentiel de chaînage:
  • Bien que potentiellement sujet à la surutilisation, la possibilité de chaîner foreach () appelle est un avantage convaincant.
un changement de perspective

initialement douteux, certains reconnaissent désormais la valeur d'une méthode d'extension

foreach ()

dans certains scénarios. Cette réévaluation suggère que Microsoft pourrait envisager d'ajouter une méthode standardisée foreach dans les futures versions de framework. L'absence de cette méthode d'extension pour

ienumerable

reste un sujet de discussion. Compte tenu des avantages potentiels, la communauté des développeurs prévoit de nouveaux développements, espérant voir cet écart abordé dans la bibliothèque d'extension C #.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3