Rumah > pembangunan bahagian belakang > C++ > Bagaimana cara menghapuskan elemen dari senarai generik dengan selamat semasa meleleh?

Bagaimana cara menghapuskan elemen dari senarai generik dengan selamat semasa meleleh?

Barbara Streisand
Lepaskan: 2025-01-31 01:46:09
asal
735 orang telah melayarinya

How to Safely Remove Elements from a Generic List While Iterating?

Semasa proses berulang, elemen senarai generik dengan selamat dikeluarkan

Dalam banyak senario pengaturcaraan, unsur -unsur dalam senarai perlu diproses. Walau bagaimanapun, jika unsur -unsur tertentu perlu dikeluarkan semasa proses ini, kaedah standard mungkin mempunyai masalah.

Penggunaan

dalam kitaran akan menyebabkan keabnormalan, dan kaunter penurunan dan penggunaan

akan memusnahkan kedudukan set semasa. foreach .Remove(element) Penyelesaian yang lebih elegan ialah senarai lelaran terbalik: .RemoveAt(i)

Ini memastikan bahawa elemen penyingkiran tidak menjejaskan kedudukan semasa dalam senarai.

for (int i = safePendingList.Count - 1; i >= 0; i--)
{
    // 处理元素

    // 如需移除元素
    // safePendingList.RemoveAt(i);
}
Salin selepas log masuk
atau, <> kaedah membolehkan penapisan elemen mengikut predikat:

Contoh berikut menunjukkan penggunaan kaedah kitaran RemoveAll:

safePendingList.RemoveAll(item => item.Value == someValue);
Salin selepas log masuk

output: for

Atas ialah kandungan terperinci Bagaimana cara menghapuskan elemen dari senarai generik dengan selamat semasa meleleh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan