Di C # / VB.NET / .NET, loop mana yang berjalan lebih cepat, for
atau foreach
?
Sejak saya membaca bahwa for
lingkaran bekerja lebih cepat dari foreach
lingkaran waktu yang lalu saya diasumsikan itu berdiri berlaku untuk semua koleksi, koleksi generik, semua array, dll
Saya menjelajahi Google dan menemukan beberapa artikel, tetapi kebanyakan dari mereka tidak meyakinkan (baca komentar pada artikel) dan terbuka.
Apa yang ideal adalah membuat setiap skenario dicantumkan dan solusi terbaik untuk hal yang sama.
Misalnya (hanya contoh bagaimana seharusnya):
- untuk iterasi array 1000+ string -
for
lebih baik daripadaforeach
- untuk iterasi dari
IList
string (non generik) -foreach
lebih baik daripadafor
Beberapa referensi ditemukan di web untuk hal yang sama:
- Artikel asli agung lama oleh Emmanuel Schanzer
- CodeEject FOREACH Vs. UNTUK
- Blog - Ke
foreach
atau tidakforeach
, itulah pertanyaannya - Forum ASP.NET - NET 1.1 C #
for
vsforeach
[Sunting]
Terlepas dari aspek keterbacaannya, saya benar-benar tertarik pada fakta dan angka. Ada beberapa aplikasi di mana jarak terakhir dari optimasi kinerja tidak menjadi masalah.
foreach
alih-alih for
dalam C #. Jika Anda melihat jawaban di sini tidak masuk akal sama sekali, itu sebabnya. Salahkan moderator, bukan jawaban yang malang.