Rumah >pembangunan bahagian belakang >C++ >Gelung `Untuk` lwn. `Foreach` dalam .NET: Mana Yang Lebih Cepat?
Perbandingan prestasi
gelung lwn. for
gelung dalam foreach
.NET: Mana satu lebih pantas?
Dalam C# dan bahasa .NET yang lain, apabila memilih struktur gelung untuk mengulang koleksi, anda sering menghadapi soalan tentang jenis gelung yang mempunyai prestasi yang lebih baik. Walaupun gelung for
biasanya dianggap lebih pantas daripada gelung foreach
, prestasi sebenar mungkin berbeza-beza berdasarkan jenis koleksi dan senario tertentu.
Senario khusus dan perbandingan prestasi
Perbandingan prestasi berikut berdasarkan ujian empirikal oleh Patrick Smacchia:
List<T>
for
: gelung pada koleksi senarai generik adalah lebih perlahan sedikit daripada gelung for
, dengan perbezaan prestasi kira-kira 2x. foreach
for
Prestasi gelung jauh lebih tinggi daripada gelung for
pada tatasusunan generik dan bukan generik, kira-kira 2x lebih pantas. foreach
for
pada koleksi List<T>
. foreach
Faktor yang mempengaruhi prestasi Perbezaan prestasi antara gelung
dan gelung for
boleh dikaitkan dengan beberapa faktor: foreach
foreach
foreach
gelung, sekali gus meningkatkan prestasi. for
Kesimpulan
Walaupun gelung secara amnya memberikan prestasi yang lebih baik apabila mengulangi koleksi dalam .NET, perbezaan kelajuan sebenar mungkin bergantung pada jenis dan senario koleksi tertentu. Untuk aplikasi sensitif prestasi (di mana setiap milisaat dikira), adalah disyorkan untuk menanda aras jenis gelung yang berbeza dan memilih satu yang memberikan kelajuan pelaksanaan terbaik. for
Atas ialah kandungan terperinci Gelung `Untuk` lwn. `Foreach` dalam .NET: Mana Yang Lebih Cepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!