W C # / VB.NET / .NET, która pętla działa szybciej forlub foreach?
Odkąd przeczytałem, że już dawnofor pętla działa szybciej niż foreachpętla , zakładałem, że jest prawdziwa dla wszystkich kolekcji, zbiorów ogólnych, wszystkich tablic itp.
Przeszukałem Google i znalazłem kilka artykułów, ale większość z nich jest niejednoznaczna (czytaj komentarze do artykułów) i otwarta.
Idealnym rozwiązaniem byłoby wyszczególnienie każdego scenariusza i najlepsze rozwiązanie tego samego.
Na przykład (tylko przykład tego, jak powinno być):
- do iteracji tablicy ponad 1000 ciągów -
forjest lepszy niżforeach - do iteracji po
IList(nie rodzajowych) ciągach -foreachjest lepszy niżfor
Kilka odnośników znalezionych w sieci dla tego samego:
- Oryginalny wielki stary artykuł Emmanuela Schanzera
- CodeProject FOREACH vs. DLA
- Blog - To
foreachlub nieforeach, to jest pytanie - Forum ASP.NET - NET 1.1 C #
forvsforeach
[Edytować]
Oprócz aspektu czytelności, naprawdę interesują mnie fakty i liczby. Istnieją aplikacje, w których ostatnia mila optymalizacji wydajności ma znaczenie.
foreachzamiast forw języku C #. Jeśli widzisz tutaj odpowiedzi, które w ogóle nie mają sensu, właśnie dlatego. Obwiniaj moderatora, a nie nieszczęśliwe odpowiedzi.





