Rumah > pembangunan bahagian belakang > C++ > Bagaimana dengan cekap menduplikasi senarai generik dalam C#?

Bagaimana dengan cekap menduplikasi senarai generik dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-01-30 20:05:12
asal
470 orang telah melayarinya

How to Efficiently Duplicate a Generic List in C#?

menduplikasi senarai generik yang cekap dalam C#

Membuat salinan senarai generik adalah tugas yang kerap dalam C#, walaupun bahasa tidak mempunyai kaedah langsung

. Artikel ini meneroka beberapa strategi yang berkesan untuk menduplikasi senarai. list.Clone()

Senarai jenis nilai Duplikasi:

Untuk senarai yang mengandungi jenis nilai, penyalinan adalah mudah:

<code class="language-csharp">List<YourType> newList = new List<YourType>(oldList);</code>
Salin selepas log masuk
Ini mewujudkan senarai baru dengan unsur -unsur yang sama dengan yang asal. Ambil perhatian bahawa ini melakukan

salinan cetek untuk jenis nilai.

Senarai Jenis Rujukan Penyalinan Deep:

Dengan jenis rujukan, salinan yang mendalam diperlukan untuk mengelakkan rujukan objek bersama. Jika elemen anda dilaksanakan

: ICloneable

<code class="language-csharp">List<ICloneable> oldList = new List<ICloneable>();
List<ICloneable> newList = new List<ICloneable>(oldList.Count);

oldList.ForEach(item => newList.Add((ICloneable)item.Clone()));</code>
Salin selepas log masuk
ini melangkah dan klon setiap elemen secara individu.

memanfaatkan pembangun salinan:

jika elemen anda mempunyai salinan pembina tetapi tidak melaksanakan

: ICloneable

<code class="language-csharp">List<YourType> oldList = new List<YourType>();
List<YourType> newList = new List<YourType>(oldList.Count);

oldList.ForEach(item => newList.Add(new YourType(item)));</code>
Salin selepas log masuk
Ini menggunakan pembina salinan untuk setiap elemen.

Kaedah pengklonan adat: Untuk senario yang lebih kompleks, pertimbangkan kaedah salinan tersuai (mis.,

) atau kaedah kilang untuk menyediakan kawalan halus ke atas proses pengklonan.

YourType.CopyFrom()

enkapsulasi untuk kebolehgunaan semula:

Untuk organisasi kod yang lebih baik dan kebolehgunaan semula, bungkus pendekatan ini ke dalam kaedah lanjutan atau fungsi penolong mandiri.

Atas ialah kandungan terperinci Bagaimana dengan cekap menduplikasi senarai generik dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan