Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memadamkan Elemen dengan Cekap dari Array C# mengikut Nilai?

Bagaimana untuk Memadamkan Elemen dengan Cekap dari Array C# mengikut Nilai?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-20 20:50:14170semak imbas

How to Efficiently Delete Elements from a C# Array by Value?

Alih keluar elemen daripada tatasusunan dalam C#

Adegan:

Andaikan anda mempunyai tatasusunan integer:

<code class="language-c#">int[] numbers = {1, 3, 4, 9, 2};</code>

Anda mahu mengalih keluar elemen dengan nilai tertentu (contohnya, 4). Walaupun anda boleh menggunakan ArrayList untuk mengurus tatasusunan, kaedah RemoveAtnya tidak membenarkan penapisan berdasarkan nilai elemen.

Penyelesaian:

Untuk mengalih keluar elemen daripada tatasusunan mengikut nama (nilai), anda boleh menggunakan kaedah LINQ atau bukan LINQ.

Kaedah LINQ (.NET Framework 3.5):

Menggunakan kaedah LINQ's Where, anda boleh menapis elemen dan mengecualikan elemen yang ingin anda padamkan:

<code class="language-c#">int[] numbers = { 1, 3, 4, 9, 2 };
int numToRemove = 4;
numbers = numbers.Where(val => val != numToRemove).ToArray();</code>

Kaedah bukan LINQ (.NET Framework 2.0):

Untuk persekitaran tanpa LINQ, anda boleh menggunakan kaedah Array terbina dalam untuk mencapai hasil yang sama:

<code class="language-c#">static bool isNotFour(int n)
{
    return n != 4;
}

int[] numbers = { 1, 3, 4, 9, 2 };
numbers = Array.FindAll(numbers, isNotFour);</code>

Padamkan hanya contoh pertama:

Jika anda hanya mahu mengalih keluar kejadian pertama unsur tertentu:

Kaedah LINQ:

<code class="language-c#">int[] numbers = { 1, 3, 4, 9, 2, 4 };
int numToRemove = 4;
int numIndex = Array.IndexOf(numbers, numToRemove);
numbers = numbers.Where((val, idx) => idx != numIndex).ToArray();</code>

Kaedah bukan LINQ:

<code class="language-c#">int[] numbers = { 1, 3, 4, 9, 2, 4 };
int numToRemove = 4;
int numIdx = Array.IndexOf(numbers, numToRemove);
List<int> tmp = new List<int>(numbers);
tmp.RemoveAt(numIdx);
numbers = tmp.ToArray();</code>

Atas ialah kandungan terperinci Bagaimana untuk Memadamkan Elemen dengan Cekap dari Array C# mengikut Nilai?. 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