Maison > développement back-end > C++ > Comment supprimer les éléments d'un tableau ordinaire dans .NET?

Comment supprimer les éléments d'un tableau ordinaire dans .NET?

Linda Hamilton
Libérer: 2025-01-25 01:51:08
original
342 Les gens l'ont consulté

How to Remove Elements from a Regular Array in .NET?

Supprimer efficacement des éléments des tableaux .NET

Contrairement aux tableaux dynamiques comme List<T>, les tableaux .NET standard n'ont pas de méthode Remove directe. Cet article explore des stratégies efficaces pour supprimer des éléments des tableaux normaux.

Exploiter LINQ pour la suppression d'éléments

Une approche concise utilise LINQ pour filtrer et reconstruire le tableau :

<code class="language-csharp">var foos = new Foo[] { foo1, foo2, foo3, foo4 };
foos = foos.Where(f => f.Id != idToRemove).ToArray();</code>
Copier après la connexion

Cela convertit le tableau en List<T>, filtre l'élément indésirable en fonction d'une condition (ici, f.Id != idToRemove), puis reconvertit la liste filtrée en tableau.

Méthode d'extension personnalisée pour RemoveAt Fonctionnalité

Pour plus de contrôle, une méthode d'extension personnalisée imitant le comportement RemoveAt peut être implémentée :

<code class="language-csharp">public static T[] RemoveAt<T>(this T[] source, int index)
{
    if (index < 0 || index >= source.Length)
        throw new ArgumentOutOfRangeException(nameof(index));

    T[] dest = new T[source.Length - 1];
    Array.Copy(source, 0, dest, 0, index);
    Array.Copy(source, index + 1, dest, index, source.Length - index - 1);
    return dest;
}</code>
Copier après la connexion

Cette méthode gère efficacement les cas extrêmes et copie les éléments avant et après l'index spécifié dans un nouveau tableau, supprimant ainsi l'élément à l'index donné. Utilisation :

<code class="language-csharp">Foo[] foos = GetFoos();
foos = foos.RemoveAt(2);</code>
Copier après la connexion

Cela offre un remplacement plus direct de la fonctionnalité RemoveAt manquante dans les tableaux standards. N'oubliez pas que les deux méthodes créent un nouveau tableau ; le tableau d'origine reste inchangé. Choisissez la méthode la mieux adaptée à vos besoins et à votre style de codage.

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