Heim >Backend-Entwicklung >C++ >Wie entferne ich ein Element aus einem C# -Array?

Wie entferne ich ein Element aus einem C# -Array?

DDD
DDDOriginal
2025-01-25 02:02:08802Durchsuche

How to Remove an Element from a C# Array?

Bestimmte Elemente aus einem normalen Array entfernen

Beim Arbeiten mit Arrays in C# müssen Sie möglicherweise bestimmte Elemente aus der Sammlung entfernen. Für gewöhnliche Arrays ist im Gegensatz zur List-Klasse keine RemoveAt()-Methode direkt verfügbar. Daher suchen Entwickler nach alternativen Möglichkeiten, diese Funktionalität zu implementieren.

Lösung:

Um diese Einschränkung zu überwinden, können Sie die RemoveAt()-Methode von List nutzen, indem Sie zunächst ein normales Array in eine Liste konvertieren, den Entfernungsvorgang ausführen und dann die geänderte Liste wieder in ein Array konvertieren.

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

Alternative zur Erweiterungsmethode:

Erwägen Sie alternativ die Verwendung einer Erweiterungsmethode, die die RemoveAt()-Funktionalität eines normalen Arrays emuliert:

<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>

Diese Erweiterungsmethode ermöglicht eine einfachere Entfernung:

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

Das obige ist der detaillierte Inhalt vonWie entferne ich ein Element aus einem C# -Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn