Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara mengeluarkan item dari senarai generik semasa lelaran?
Mengelakkan kesilapan semasa mengeluarkan item dari senarai semasa lelaran:
Mengubah suai senarai semasa meleleh melalui ia sering membawa kepada "koleksi telah diubah suai; operasi penghitungan tidak boleh melaksanakan" ralat. Ini berlaku kerana mengeluarkan item membatalkan iterator. Inilah cara untuk menghapuskan elemen dengan selamat:
Kaedah 1: Penyebaran terbalik
Melangkah mundur menghalang isu indeks apabila mengeluarkan item. Pendekatan ini berfungsi dengan baik untuk kriteria penyingkiran mudah.
<code class="language-csharp">for (int i = safePendingList.Count - 1; i >= 0; i--) { // Check removal condition if (shouldRemove) { safePendingList.RemoveAt(i); } }</code>
kaedah 2: kaedah RemoveAll
menyediakan penyelesaian yang lebih bersih. Ia mengambil predikat (fungsi yang kembali benar jika item harus dikeluarkan) dan menghapuskan semua elemen yang sepadan. RemoveAll
<code class="language-csharp">safePendingList.RemoveAll(item => item.Value == someValue);</code>
Ringkasan:
Kaedah ini membolehkan penyingkiran elemen yang selamat dan cekap dari senarai semasa lelaran, menghapuskan risiko pengecualian runtime. Pilih kaedah yang paling sesuai untuk kriteria penyingkiran dan gaya pengekodan anda.Atas ialah kandungan terperinci Bagaimana cara mengeluarkan item dari senarai generik semasa lelaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!