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>
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>
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>
Kaedah pengklonan adat:
YourType.CopyFrom()
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!