Em C # / VB.NET / .NET, qual loop é executado mais rapidamente forou foreach?
Desde que li que um forloop funciona mais rápido do que um foreachloop há muito tempo, presumi que fosse verdade para todas as coleções, coleções genéricas, todas as matrizes etc.
Vasculhei o Google e encontrei alguns artigos, mas a maioria deles é inconclusiva (leia os comentários nos artigos) e é aberta.
O ideal seria ter cada cenário listado e a melhor solução para o mesmo.
Por exemplo (apenas um exemplo de como deve ser):
- para iterar uma matriz de mais de 1000 strings -
foré melhor queforeach - para iterar sobre
IListcadeias (não genéricas) -foreaché melhor quefor
Algumas referências encontradas na web para o mesmo:
- Artigo grandioso original de Emmanuel Schanzer
- CodeProject FOREACH vs. PARA
- Blog - Para
foreachou nãoforeach, eis a questão - Fórum ASP.NET - NET 1.1 C #
forvsforeach
[Editar]
Além do aspecto de legibilidade, estou realmente interessado em fatos e números. Existem aplicativos em que a última milha de otimização de desempenho compactada é importante.
foreachvez de forem C #. Se você vê aqui respostas que não fazem nenhum sentido, é por isso. Culpe o moderador, não as respostas infelizes.





