Apabila bekerja dengan tatasusunan C#, anda mungkin menghadapi situasi di mana anda perlu memadamkan elemen tertentu. Artikel ini akan menyelami cara melakukan ini dengan berkesan.
Untuk mengalih keluar elemen daripada tatasusunan, anda mesti mengenal pastinya dengan tepat. Malangnya, tatasusunan tidak menyokong pengambilan semula elemen mengikut "nama". Walau bagaimanapun, anda boleh menggunakan teknik lain untuk menentukan nilai yang dikehendaki.
Jika rangka kerja sasaran anda ialah .NET Framework 3.5 atau lebih tinggi, LINQ (Language Integrated Query) menyediakan cara yang komprehensif untuk menapis dan mengubah suai tatasusunan. Begini cara untuk memadam elemen menggunakan LINQ:
<code class="language-csharp">int[] numbers = { 1, 3, 4, 9, 2 }; int numToRemove = 4; numbers = numbers.Where(val => val != numToRemove).ToArray();</code>
Sebagai alternatif, untuk .NET Framework 2.0, anda boleh menggunakan gelung bukan LINQ:
<code class="language-csharp">static bool isNotFour(int n) { return n != 4; } int[] numbers = { 1, 3, 4, 9, 2 }; numbers = Array.FindAll(numbers, isNotFour).ToArray();</code>
Kadangkala, anda mungkin hanya perlu mengalih keluar tika pertama elemen tertentu. Dalam kes ini, anda boleh mengubah suai kod LINQ atau bukan LINQ seperti berikut:
<code class="language-csharp">// LINQ int numToRemove = 4; int numIndex = Array.IndexOf(numbers, numToRemove); numbers = numbers.Where((val, idx) => idx != numIndex).ToArray(); // 非LINQ int numToRemove = 4; int numIdx = Array.IndexOf(numbers, numToRemove); List<int> tmp = new List<int>(numbers); tmp.RemoveAt(numIdx); numbers = tmp.ToArray();</code>
Dalam sesetengah kes, mengalih keluar elemen daripada tatasusunan mungkin bukan pilihan yang paling sesuai. Berikut ialah beberapa alternatif untuk dipertimbangkan:
Atas ialah kandungan terperinci Bagaimanakah saya Memadamkan Elemen daripada Array dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!