Feedback

C# - RemoveAt - Mehrere Elemente entfernen

Veröffentlicht von am 22.02.2014
(0 Bewertungen)
Manchmal möchte man vielleicht mehrere Elemente aus einer Liste entfernen. Wenn man das Element zum entfernen hat, kann man einfach .Remove(item) benutzen, mit mehreren Indexen ist das jedoch nicht so einfach. Da muss man auf die Reihenfolge achten um auch wirklich das richtige Element zu löschen.

Benötigte Namespaces
System
System.Collections.Generic
System.Linq
GFU-Schulungen  [Anzeige]

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

Visual Studio Team Foundation Server 2017/2015 (TFS) für Projektmitglieder - Kompakt

Nach Teilnahme an dieser Schulung sind Ihnen die Grundlagen von ALM geläufig. Sie planen und steuern Projekte effizient mit dem Visual Studio Team Foundation Server.

/// <summary>
/// Entfernt die Element mit dem angegebenen Index. 
/// </summary>
/// <typeparam name="T">Der Typ der Elemente in der Liste.</typeparam>
/// <param name="source">Die zu bearbeitende Liste</param>
/// <param name="itemIndices">Die zu entfernenden Indexen.</param>
public static void RemoveItemsAt<T>(this IList<T> source, params int[] itemIndices)
{
    if (source == null)
        throw new ArgumentNullException("source");
    if (itemIndices == null)
        throw new ArgumentNullException("itemIndices");

    foreach (var itemIndex in itemIndices.OrderByDescending(x => x))
        source.RemoveAt(itemIndex);
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!