Maison >développement back-end >C++ >Comment supprimer un élément d'un tableau C #?

Comment supprimer un élément d'un tableau C #?

DDD
DDDoriginal
2025-01-25 02:02:08749parcourir

How to Remove an Element from a C# Array?

Supprimer des éléments spécifiques d'un tableau normal

Lorsque vous travaillez avec des tableaux en C#, vous devrez peut-être supprimer des éléments spécifiques de la collection. Pour les tableaux ordinaires, contrairement à la classe List, aucune méthode RemoveAt() n’est directement disponible. Cela oblige les développeurs à rechercher d’autres moyens d’implémenter cette fonctionnalité.

Solution :

Pour surmonter cette limitation, vous pouvez profiter de la méthode RemoveAt() de List en convertissant d'abord un tableau normal en liste, en effectuant l'opération de suppression, puis en reconvertissant la liste modifiée en tableau.

<code class="language-c#">var foos = new List<foo>(array);
foos.RemoveAt(index);
return foos.ToArray();</code>

Alternative à la méthode d'extension :

Vous pouvez également envisager d'utiliser une méthode d'extension qui émule la fonctionnalité RemoveAt() d'un tableau normal :

<code class="language-c#">public static T[] RemoveAt<T>(this T[] source, int index)
{
    T[] dest = new T[source.Length - 1];
    if( index > 0 )
        Array.Copy(source, 0, dest, 0, index);

    if( index < source.Length -1 )
        Array.Copy(source, index + 1, dest, index, source.Length - index - 1);

    return dest;
}</code>

Cette méthode d'extension permet une suppression plus facile :

<code class="language-c#">Foo[] bar = GetFoos();
bar = bar.RemoveAt(2);</code>

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!

Déclaration:
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