Ubah suai senarai dalam C#: gelung foreach
atau gelung for
?
Dalam versi sebelum C# 4.0, mengubah suai senarai semasa gelung foreach
akan menyebabkan pengecualian. Walau bagaimanapun, .NET 4.0 memperkenalkan sokongan untuk ciri ini. Namun, pendekatan terbaik ialah menggunakan gelung for
tradisional.
Enum tidak berubah
Pernyataanforeach
menggunakan koleksi tidak berubah, seperti yang dinyatakan oleh MSDN: "Pernyataan foreach
...tidak boleh digunakan untuk menambah atau mengalih keluar item daripada koleksi sumber untuk mengelakkan kesan sampingan yang tidak dapat diramalkan."
Penyelesaian Gelungfor
: for
<code class="language-csharp">for (var i = 0; i < list.Count; i++) { // 修改 list[i] }</code>
Pengecualian koleksi serentak
Sila ambil perhatian bahawa blog yang dirujuk dalam soalan menyebut bahawa pengecualian ini tidak digunakan untuk koleksi serentak yang diperkenalkan dalam .NET 4.0. Walau bagaimanapun, masih disyorkan untuk menggunakan gelung untuk pengubahsuaian senarai kerana ia adalah teknik yang disyorkan dan paling boleh dipercayai. for
Atas ialah kandungan terperinci Sekiranya saya menggunakan gelung `foreach` atau` for` untuk mengubah suai senarai di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!