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!