Maison > développement back-end > C++ > Comment puis-je supprimer des éléments d'un tableau en C# ?

Comment puis-je supprimer des éléments d'un tableau en C# ?

Susan Sarandon
Libérer: 2025-01-20 20:36:15
original
626 Les gens l'ont consulté

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

Supprimer efficacement des éléments des tableaux C#

Les tableaux C# ont une taille intrinsèquement fixe ; vous ne pouvez pas supprimer directement des éléments. Cependant, plusieurs méthodes simulent efficacement la suppression d’éléments. La meilleure approche dépend de votre version de .NET Framework et de vos besoins spécifiques.

Exploiter LINQ (pour .NET Framework 3.5 et versions ultérieures) :

LINQ propose des solutions élégantes pour la manipulation de tableaux. Pour supprimer toutes les occurrences d'une valeur spécifique :

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

Supprimer uniquement la première occurrence nécessite une approche légèrement différente :

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

Méthodes non-LINQ (pour .NET Framework 2.0 et versions ultérieures) :

Pour les anciens frameworks .NET, les méthodes de tableau traditionnelles sont nécessaires. Une technique utilise une fonction de prédicat personnalisée :

<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>
Copier après la connexion

Vous pouvez également convertir le tableau en List<T>, supprimer l'élément et reconvertir :

<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>
Copier après la connexion

Considération importante : Vérifiez toujours l'existence de l'élément dans le tableau à l'aide de Array.IndexOf avant de tenter de le supprimer pour éviter les exceptions. L'utilisation de LINQ fournit généralement un code plus concis et lisible, mais les méthodes non-LINQ offrent une compatibilité avec les anciens frameworks.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal