Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Padamkan Elemen dari Array dalam C#?

Bagaimanakah Saya Boleh Padamkan Elemen dari Array dalam C#?

Susan Sarandon
Susan Sarandonasal
2025-01-20 20:36:15694semak imbas

How Can I Delete Elements from an Array in C#?

Mengalih Keluar Elemen dari Tatasusunan C# dengan Cekap

Tatasusunan C# sememangnya tetap dalam saiz; anda tidak boleh mengalih keluar elemen secara langsung. Walau bagaimanapun, beberapa kaedah mensimulasikan penyingkiran unsur secara berkesan. Pendekatan terbaik bergantung pada versi .NET Framework anda dan keperluan khusus.

Memanfaatkan LINQ (untuk .NET Framework 3.5 dan lebih baru):

LINQ menawarkan penyelesaian yang elegan untuk manipulasi tatasusunan. Untuk mengalih keluar semua kejadian nilai tertentu:

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

Mengalih keluar hanya kejadian pertama memerlukan pendekatan yang sedikit berbeza:

<code class="language-csharp">int indexToRemove = Array.IndexOf(numbers, valueToRemove);
numbers = numbers.Where((num, index) => index != indexToRemove).ToArray();</code>

Kaedah Bukan LINQ (untuk .NET Framework 2.0 dan lebih baru):

Untuk rangka kerja .NET yang lebih lama, kaedah tatasusunan tradisional diperlukan. Satu teknik menggunakan fungsi predikat tersuai:

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

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

Sebagai alternatif, tukar tatasusunan kepada List<T>, alih keluar elemen dan tukar semula:

<code class="language-csharp">int[] numbers = { 1, 3, 4, 9, 2, 4 };
int valueToRemove = 4;
int indexToRemove = Array.IndexOf(numbers, valueToRemove);
List<int> tempList = new List<int>(numbers);
tempList.RemoveAt(indexToRemove);
numbers = tempList.ToArray();</code>

Pertimbangan Penting: Sentiasa sahkan kewujudan elemen dalam tatasusunan menggunakan Array.IndexOf sebelum cuba mengalih keluar untuk mengelakkan pengecualian. Menggunakan LINQ biasanya memberikan kod yang lebih ringkas dan boleh dibaca, tetapi kaedah bukan LINQ menawarkan keserasian dengan rangka kerja yang lebih lama.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Padamkan Elemen dari Array dalam C#?. 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