Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengeluarkan Elemen dengan Cekap daripada C# Arrays?

Bagaimanakah Saya Boleh Mengeluarkan Elemen dengan Cekap daripada C# Arrays?

Barbara Streisand
Lepaskan: 2025-01-20 20:37:10
asal
832 orang telah melayarinya

How Can I Efficiently Remove Elements from C# Arrays?

Kaedah yang cekap untuk mengalih keluar elemen tatasusunan dalam C#

Dalam C#, tatasusunan dilaksanakan sebagai blok memori bersebelahan yang menyimpan nilai jenis yang sama. Walau bagaimanapun, tidak seperti koleksi lain seperti ArrayLists, tatasusunan mempunyai fleksibiliti terhad dalam manipulasi elemen. Begini cara untuk mengendalikan pemadaman elemen daripada tatasusunan:

Alih keluar elemen mengikut nilai

Untuk mengalih keluar semua kejadian nilai tertentu, anda boleh menggunakan kaedah sambungan .Where() LINQ (jika menyasarkan .NET Framework 3.5 atau lebih baru) atau kaedah Array.FindAll() .NET Framework 2.0. Pertimbangkan kod berikut:

int[] numbers = { 1, 3, 4, 9, 2 };
int numToRemove = 4;

// LINQ
numbers = numbers.Where(val => val != numToRemove).ToArray();

// 非LINQ
numbers = Array.FindAll(numbers, isNotFour).ToArray();
bool isNotFour(int n) { return n != 4; }
Salin selepas log masuk

Alih keluar tika pertama nilai

Jika anda hanya mahu mengalih keluar contoh pertama nilai, anda boleh sekali lagi memanfaatkan pendekatan LINQ atau bukan LINQ:

int[] numbers = { 1, 3, 4, 9, 2, 4 };
int numToRemove = 4;

// LINQ
int numIdx = Array.IndexOf(numbers, numToRemove);
numbers = numbers.Where((val, idx) => idx != numIdx).ToArray();

// 非LINQ
int numIdx = Array.IndexOf(numbers, numToRemove);
List<int> tmp = new List<int>(numbers);
tmp.RemoveAt(numIdx);
numbers = tmp.ToArray();
Salin selepas log masuk

Ringkasnya, sementara tatasusunan menyediakan penyimpanan dan pengambilan elemen yang cekap, mereka mempunyai fleksibiliti terhad dalam manipulasi elemen, menjadikan kaedah seperti RemoveAt() tidak sesuai. Sebaliknya, kaedah yang digariskan di atas menyediakan alternatif yang cekap untuk mengalih keluar nilai daripada tatasusunan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Elemen dengan Cekap daripada C# Arrays?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan