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

Definition

Removes all elements that match the conditions defined by the specified predicate from a SortedSet<T>.

C#
public int RemoveWhere(Predicate<T> match);

Parameters

match
Predicate<T>

The delegate that defines the conditions of the elements to remove.

Returns

The number of elements that were removed from the SortedSet<T> collection.

Exceptions

match is null.

Examples

The following example removes unwanted elements from a sorted set. This code example is part of a larger example provided for the SortedSet<T> class.

C#
// 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"));
}
C#
// 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}");

Remarks

match must not modify the SortedSet<T>. Doing so can cause unexpected results.

Calling this method is an O(n) operation, where n is Count.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0