Freigeben über


SortedSet<T>.RemoveWhere(Predicate<T>) Methode

Definition

Entfernt alle Elemente aus einer SortedSet<T>-Auflistung, die die vom angegebenen Prädikat definierten Bedingungen erfüllen.

public:
 int RemoveWhere(Predicate<T> ^ match);
public int RemoveWhere (Predicate<T> match);
member this.RemoveWhere : Predicate<'T> -> int
Public Function RemoveWhere (match As Predicate(Of T)) As Integer

Parameter

match
Predicate<T>

Der Delegat, der die Bedingungen für die Elemente definiert, die entfernt werden sollen.

Gibt zurück

Die Anzahl von Elementen, die aus der SortedSet<T>-Auflistung entfernt wurden.

Ausnahmen

match ist null.

Beispiele

Im folgenden Beispiel werden unerwünschte Elemente aus einem sortierten Satz entfernt. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die SortedSet<T>-Klasse bereitgestellt wird.

// Defines a predicate delegate to use
// for the SortedSet.RemoveWhere method.
private static bool IsDoc(string s)
{
    s = s.ToLower();
    return (s.EndsWith(".txt") ||
        s.EndsWith(".xls") ||
        s.EndsWith(".xlsx") ||
        s.EndsWith(".pdf") ||
        s.EndsWith(".doc") ||
        s.EndsWith(".docx"));
}
' Defines a predicate delegate to use
' for the SortedSet.RemoveWhere method.
Private Function IsDoc(s As String) As Boolean
    s = s.ToLower()
    Return s.EndsWith(".txt") OrElse 
            s.EndsWith(".doc") OrElse 
            s.EndsWith(".xls") OrElse
            s.EndsWith(".xlsx") OrElse
            s.EndsWith(".pdf") OrElse
            s.EndsWith(".doc") OrElse
            s.EndsWith(".docx")
End Function
// Remove elements that have non-media extensions.
// See the 'IsDoc' method.
Console.WriteLine("Remove docs from the set...");
Console.WriteLine($"\tCount before: {mediaFiles1.Count}");
mediaFiles1.RemoveWhere(IsDoc);
Console.WriteLine($"\tCount after: {mediaFiles1.Count}");
' Remove elements that have non-media extensions. See the 'IsDoc' method.
Console.WriteLine("Remove docs from the set...")
Console.WriteLine($"{vbTab}Count before: {mediaFiles1.Count}")
mediaFiles1.RemoveWhere(AddressOf IsDoc)
Console.WriteLine($"{vbTab}Count after: {mediaFiles1.Count}")

Hinweise

match darf nicht geändert werden SortedSet<T>. Dies kann zu unerwarteten Ergebnissen führen.

Das Aufrufen dieser Methode ist ein O(n) Vorgang, wobei n ist Count.

Gilt für: