o caso curioso da extensão de foreach que desapareceu
Uma discussão recente sobre a falta de C# de uma função zip
desencadeou uma pergunta relacionada: por que c# não fornece um método de extensão foreach
para o amplamente usado ienumerable
] interface? Curiosamente, apenas list
inclui essa funcionalidade.
desvendando o mistério
essa omissão é uma otimização de desempenho? Ou há uma razão mais profunda e subjacente? Várias teorias tentam explicar essa lacuna perceptível.
o interno foreach
vantagem
Uma perspectiva sugere que a instrução C#é interna foreach
atende adequadamente à maioria das necessidades de iteração. Sua sintaxe concisa e legível é frequentemente preferida:
foreach (Item item in list)
{
item.DoSomething();
}
Isso contrasta com a sintaxe mais detalhada de um método de extensão:
list.ForEach(item => item.DoSomething());
argumentos para um foreach
extension
No entanto, outros defendem os benefícios práticos de um método de extensão foreach ()
em situações específicas. Esses benefícios incluem:
foreach
. foreach ()
chamadas é uma vantagem atraente. uma mudança na perspectiva
inicialmente duvidoso, alguns agora reconhecem o valor de um método de extensão foreach ()
em certos cenários. Esta reavaliação sugere que a Microsoft pode considerar adicionar um método padronizado foreach
em futuras liberações da estrutura.
A ausência deste método de extensão para ienumerable
continua sendo um tópico de discussão. Dadas as vantagens em potencial, a comunidade de desenvolvedores antecipa novos desenvolvimentos, na esperança de ver essa lacuna abordada na biblioteca de extensão C#.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3