Heim > Backend-Entwicklung > C++ > Wie entferne ich Elemente aus einem regulären Array in .NET?

Wie entferne ich Elemente aus einem regulären Array in .NET?

Linda Hamilton
Freigeben: 2025-01-25 01:51:08
Original
385 Leute haben es durchsucht

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

Effizientes Entfernen von Elementen aus .NET-Arrays

Im Gegensatz zu dynamischen Arrays wie List<T> fehlt bei Standard-.NET-Arrays eine direkte Remove-Methode. In diesem Artikel werden effektive Strategien zum Entfernen von Elementen aus regulären Arrays untersucht.

Nutzung von LINQ zur Elemententfernung

Ein prägnanter Ansatz nutzt LINQ, um das Array zu filtern und zu rekonstruieren:

<code class="language-csharp">var foos = new Foo[] { foo1, foo2, foo3, foo4 };
foos = foos.Where(f => f.Id != idToRemove).ToArray();</code>
Nach dem Login kopieren

Dadurch wird das Array in ein List<T> konvertiert, das unerwünschte Element basierend auf einer Bedingung (hier f.Id != idToRemove) herausgefiltert und dann die gefilterte Liste wieder in ein Array umgewandelt.

Benutzerdefinierte Erweiterungsmethode für RemoveAt Funktionalität

Für mehr Kontrolle kann eine benutzerdefinierte Erweiterungsmethode implementiert werden, die das RemoveAt-Verhalten nachahmt:

<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>
Nach dem Login kopieren

Diese Methode verarbeitet Randfälle effizient und kopiert Elemente vor und nach dem angegebenen Index in ein neues Array, wodurch das Element am angegebenen Index effektiv entfernt wird. Verwendung:

<code class="language-csharp">Foo[] foos = GetFoos();
foos = foos.RemoveAt(2);</code>
Nach dem Login kopieren

Dies bietet einen direkteren Ersatz für die fehlende RemoveAtFunktionalität in regulären Arrays. Denken Sie daran, dass beide Methoden ein neues Array erstellen; Das ursprüngliche Array bleibt unverändert. Wählen Sie die Methode, die Ihren Anforderungen und Ihrem Codierungsstil am besten entspricht.

Das obige ist der detaillierte Inhalt vonWie entferne ich Elemente aus einem regulären Array in .NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage