Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mencipta Subarray Klon dengan Cekap dalam C#?
Buat subarray klon dengan cekap dalam C#
Apabila bekerja dengan tatasusunan, selalunya perlu mencipta subarray yang mengandungi julat elemen tertentu daripada tatasusunan sedia ada. Walaupun ini boleh dicapai dengan menggelung dan menyalin elemen secara manual, terdapat kaedah yang lebih cekap dan lebih bersih.
Untuk mencipta subarray klon, kaedah sambungan boleh digunakan. Begini cara melakukannya:
<code class="language-csharp">public static T[] SubArray<T>(this T[] data, int index, int length) { T[] result = new T[length]; Array.Copy(data, index, result, 0, length); return result; }</code>
Cara menggunakannya:
<code class="language-csharp">int[] data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int[] sub = data.SubArray(3, 4); // 包含 {3, 4, 5, 6}</code>
Untuk subbarray klon yang unsur-unsurnya adalah objek kompleks, anda boleh menggunakan bersiri untuk penyalinan dalam:
<code class="language-csharp">public static T[] SubArrayDeepClone<T>(this T[] data, int index, int length) { T[] arrCopy = new T[length]; Array.Copy(data, index, arrCopy, 0, length); using (MemoryStream ms = new MemoryStream()) { var bf = new BinaryFormatter(); bf.Serialize(ms, arrCopy); ms.Position = 0; return (T[])bf.Deserialize(ms); } }</code>
Kaedah ini memerlukan objek boleh bersiri.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Subarray Klon dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!