Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya dapat menghapuskan pendua dari senarai generik dengan cekap di C#?

Bagaimanakah saya dapat menghapuskan pendua dari senarai generik dengan cekap di C#?

DDD
Lepaskan: 2025-01-29 02:21:08
asal
287 orang telah melayarinya

How Can I Efficiently Remove Duplicates from a Generic List in C#?

penyingkiran pendua yang cekap dari senarai generik C#

Panduan ini menunjukkan teknik yang berkesan untuk mengeluarkan entri pendua dari senarai generik dalam C#. Kami akan meneroka dua kaedah utama:

Kaedah 1: Kaedah Linq's Distinct()

untuk .NET Framework 3.0 dan kemudian, kaedah Linq

menawarkan penyelesaian ringkas: Distinct()

<code class="language-csharp">List<T> listWithDuplicates = LoadSomeData();
List<T> listWithoutDuplicates = listWithDuplicates.Distinct().ToList();</code>
Salin selepas log masuk

menjana senarai baru yang mengandungi hanya elemen unik. Distinct()

Kaedah 2: Menggunakan HashSet

menyediakan pendekatan yang lebih efisien untuk dataset yang lebih besar: HashSet<T>

<code class="language-csharp">List<T> listWithDuplicates = LoadSomeData();
HashSet<T> listWithoutDuplicates = new HashSet<T>(listWithDuplicates);</code>
Salin selepas log masuk

Secara semulajadi menyimpan barang -barang yang unik, menghapuskan pendua semasa proses penciptaan. Kaedah ini biasanya lebih cepat daripada HashSet<T> untuk senarai besar. Distinct()

Atas ialah kandungan terperinci Bagaimanakah saya dapat menghapuskan pendua dari senarai generik dengan cekap di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan