C # / VB.NET / .NET yılında hangi döngü daha hızlı çalışır, for
ya foreach
?
for
Bir foreach
döngünün uzun zaman önce bir döngüden daha hızlı çalıştığını okuduğumdan beri , tüm koleksiyonlar, genel koleksiyonlar, tüm diziler vb. İçin doğru olduğunu varsaydım.
Google'ı inceledim ve birkaç makale buldum, ancak çoğu sonuçsuz (makaleler hakkındaki yorumları okuyun) ve açık uçlu.
İdeal olan, her senaryonun listelenmesi ve bunun için en iyi çözümdür.
Örneğin (nasıl olması gerektiğine dair bir örnek):
- 1000+ dize dizisi yineleme için -
for
daha iyi olduğunuforeach
- üzerinden yineleme için
IList
(non jenerik) dizeleri -foreach
daha iyi olduğunufor
Web'de aynı için bulunan birkaç referans:
- Emmanuel Schanzer'in orijinal büyük eski makalesi
- CodeProject ÖNSÖZ Vs. İÇİN
- Blog - Sormak
foreach
ya da istememekforeach
, soru bu - ASP.NET forumu - NET 1.1 C #
for
vsforeach
[Düzenle]
Okunabilirlik yönünün yanı sıra, gerçeklerle ve rakamlarla gerçekten ilgileniyorum. Sıkıştırılan son performans optimizasyonunun önemli olduğu uygulamalar vardır.
foreach
yerine kullanmaya zorlanma hakkında tamamen ilgisiz bir soru ile birleştirildi for
. Burada hiç mantıklı olmayan cevaplar görürseniz, bu yüzden. Sorumsuz cevapları değil moderatörü suçla.