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:
int[] numbers = { 1, 3, 4, 9, 2, 4 }; int valueToRemove = 4; numbers = numbers.Where(num => num != valueToRemove).ToArray();
Mengalih keluar hanya kejadian pertama memerlukan pendekatan yang sedikit berbeza:
int indexToRemove = Array.IndexOf(numbers, valueToRemove); numbers = numbers.Where((num, index) => index != indexToRemove).ToArray();
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:
static bool isNotFour(int n) { return n != 4; } int[] numbers = { 1, 3, 4, 9, 2, 4 }; numbers = Array.FindAll(numbers, isNotFour).ToArray();
Sebagai alternatif, tukar tatasusunan kepada List<T>
, alih keluar elemen dan tukar semula:
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();
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!