Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk mengalih keluar Elemen daripada Tatasusunan Biasa dalam .NET?

Bagaimana untuk mengalih keluar Elemen daripada Tatasusunan Biasa dalam .NET?

Linda Hamilton
Linda Hamiltonasal
2025-01-25 01:51:08387semak imbas

How to Remove Elements from a Regular Array in .NET?

Mengalih Keluar Elemen daripada Tatasusunan .NET dengan Cekap

Tidak seperti tatasusunan dinamik seperti List<T>, tatasusunan .NET standard tidak mempunyai kaedah Remove langsung. Artikel ini meneroka strategi berkesan untuk mengalih keluar elemen daripada tatasusunan biasa.

Memanfaatkan LINQ untuk Penyingkiran Elemen

Pendekatan ringkas menggunakan LINQ untuk menapis dan membina semula tatasusunan:

<code class="language-csharp">var foos = new Foo[] { foo1, foo2, foo3, foo4 };
foos = foos.Where(f => f.Id != idToRemove).ToArray();</code>

Ini menukar tatasusunan kepada List<T>, menapis keluar elemen yang tidak diingini berdasarkan keadaan (di sini, f.Id != idToRemove), dan kemudian menukar senarai yang ditapis kembali kepada tatasusunan.

Kaedah Sambungan Tersuai untuk RemoveAt Kefungsian

Untuk lebih kawalan, kaedah sambungan tersuai yang meniru gelagat RemoveAt boleh dilaksanakan:

<code class="language-csharp">public static T[] RemoveAt<T>(this T[] source, int index)
{
    if (index < 0 || index >= source.Length)
        throw new ArgumentOutOfRangeException(nameof(index));

    T[] dest = new T[source.Length - 1];
    Array.Copy(source, 0, dest, 0, index);
    Array.Copy(source, index + 1, dest, index, source.Length - index - 1);
    return dest;
}</code>

Kaedah ini mengendalikan kes tepi dengan cekap dan menyalin elemen sebelum dan selepas indeks yang ditentukan ke tatasusunan baharu, dengan berkesan mengalih keluar elemen pada indeks yang diberikan. Penggunaan:

<code class="language-csharp">Foo[] foos = GetFoos();
foos = foos.RemoveAt(2);</code>

Ini menawarkan penggantian yang lebih langsung untuk kefungsian RemoveAt yang hilang dalam tatasusunan biasa. Ingat bahawa kedua-dua kaedah mencipta tatasusunan baharu; tatasusunan asal kekal tidak berubah. Pilih kaedah yang paling sesuai dengan keperluan dan gaya pengekodan anda.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Elemen daripada Tatasusunan Biasa dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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