Lorsque vous travaillez avec des tableaux C#, vous pouvez rencontrer des situations dans lesquelles vous devez supprimer des éléments spécifiques. Cet article explique comment procéder efficacement.
Pour supprimer un élément d’un tableau, vous devez d’abord l’identifier exactement. Malheureusement, les tableaux ne prennent pas en charge nativement la récupération d'éléments par « nom ». Cependant, vous pouvez utiliser d’autres techniques pour identifier la valeur souhaitée.
Si votre framework cible est .NET Framework 3.5 ou supérieur, LINQ (Language Integrated Query) fournit un moyen complet de filtrer et de modifier les tableaux. Voici comment supprimer des éléments à l'aide de LINQ :
<code class="language-csharp">int[] numbers = { 1, 3, 4, 9, 2 }; int numToRemove = 4; numbers = numbers.Where(val => val != numToRemove).ToArray();</code>
Alternativement, pour .NET Framework 2.0, vous pouvez utiliser une boucle non-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>
Parfois, vous n'aurez besoin de supprimer que la première instance d'un élément spécifique. Dans ce cas, vous pouvez modifier le code LINQ ou non-LINQ comme suit :
<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>
Dans certains cas, supprimer des éléments d'un tableau peut ne pas être l'option la plus appropriée. Voici quelques alternatives à considérer :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!