Removes all the elements that match the conditions defined by the specified predicate.
Assemblies: mscorlib (in mscorlib.dll)
System.Collections (in System.Collections.dll)
match is a null reference (Nothing in Visual Basic).
The Predicate(T) is a delegate to a method that returns true if the object passed to it matches the conditions defined in the delegate. The elements of the current List(T) are individually passed to the Predicate(T) delegate, and the elements that match the conditions are removed from the List(T).
This method performs a linear search; therefore, this method is an O(n) operation, where n is Count.
The following example demonstrates the method and several other methods that use the Predicate(T) generic delegate.
A List(T) of strings is created, containing 8 dinosaur names, two of which (at positions 1 and 5) end with "saurus". The example also defines a search predicate method named EndsWithSaurus, which accepts a string parameter and returns a Boolean value indicating whether the input string ends in "saurus".
The method is used to remove all entries ending with "saurus". It traverses the list from the beginning, passing each element in turn to the EndsWithSaurus method. The element is removed if the EndsWithSaurus method returns true.
In C# and Visual Basic, it is not necessary to create the Predicate<string> delegate (Predicate(Of String) in Visual Basic) explicitly. These languages infer the correct delegate from context, and create it automatically.
Finally, the Exists method verifies that there are no strings in the list that end with "saurus".
.NET FrameworkSupported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0
.NET Framework Client ProfileSupported in: 4, 3.5 SP1
Portable Class LibrarySupported in: Portable Class Library
.NET for Windows Store appsSupported in: Windows 8
Supported in: Windows Phone 8.1
Supported in: Windows Phone Silverlight 8.1
Supported in: Windows Phone Silverlight 8
Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)