Determines whether every element in the List<(Of <(T>)>) matches the conditions defined by the specified predicate.
Public Function TrueForAll ( _ match As Predicate(Of T) _ ) As Boolean
public bool TrueForAll( Predicate<T> match )
public: bool TrueForAll( Predicate<T>^ match )
member TrueForAll : match:Predicate<'T> -> bool
match is nullNothingnullptra null reference (Nothing in Visual Basic).
The Predicate<(Of <(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<(Of <(T>)>) are individually passed to the Predicate<(Of <(T>)>) delegate, and processing is stopped when the delegate returns false for any element. The elements are processed in order, and all calls are made on a single thread.
This method is an O(n) operation, where n is Count.
The following code example demonstrates the TrueForAll method and several other methods that use Predicate<(Of <(T>)>) generic delegate.
A List<(Of <(T>)>) of strings is created, containing 8 dinosaur names, two of which (at positions 1 and 5) end with "saurus". The code 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 TrueForAll method traverses the list from the beginning, passing each element in turn to the EndsWithSaurus method. The search stops when the EndsWithSaurus method returns false.
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.
Imports System Imports System.Collections.Generic Public Class Example Public Shared Sub Main() Dim dinosaurs As New List(Of String) dinosaurs.Add("Compsognathus") dinosaurs.Add("Amargasaurus") dinosaurs.Add("Oviraptor") dinosaurs.Add("Velociraptor") dinosaurs.Add("Deinonychus") dinosaurs.Add("Dilophosaurus") dinosaurs.Add("Gallimimus") dinosaurs.Add("Triceratops") Console.WriteLine() For Each dinosaur As String In dinosaurs Console.WriteLine(dinosaur) Next Console.WriteLine(vbLf & _ "TrueForAll(AddressOf EndsWithSaurus: {0}", _ dinosaurs.TrueForAll(AddressOf EndsWithSaurus)) Console.WriteLine(vbLf & _ "Find(AddressOf EndsWithSaurus): {0}", _ dinosaurs.Find(AddressOf EndsWithSaurus)) Console.WriteLine(vbLf & _ "FindLast(AddressOf EndsWithSaurus): {0}", _ dinosaurs.FindLast(AddressOf EndsWithSaurus)) Console.WriteLine(vbLf & _ "FindAll(AddressOf EndsWithSaurus):") Dim sublist As List(Of String) = _ dinosaurs.FindAll(AddressOf EndsWithSaurus) For Each dinosaur As String In sublist Console.WriteLine(dinosaur) Next Console.WriteLine(vbLf & _ "{0} elements removed by RemoveAll(AddressOf EndsWithSaurus).", _ dinosaurs.RemoveAll(AddressOf EndsWithSaurus)) Console.WriteLine(vbLf & "List now contains:") For Each dinosaur As String In dinosaurs Console.WriteLine(dinosaur) Next Console.WriteLine(vbLf & _ "Exists(AddressOf EndsWithSaurus): {0}", _ dinosaurs.Exists(AddressOf EndsWithSaurus)) End Sub ' Search predicate returns true if a string ends in "saurus". Private Shared Function EndsWithSaurus(ByVal s As String) _ As Boolean ' AndAlso prevents evaluation of the second Boolean ' expression if the string is so short that an error ' would occur. If (s.Length > 5) AndAlso _ (s.Substring(s.Length - 6).ToLower() = "saurus") Then Return True Else Return False End If End Function End Class ' This code example produces the following output: ' 'Compsognathus 'Amargasaurus 'Oviraptor 'Velociraptor 'Deinonychus 'Dilophosaurus 'Gallimimus 'Triceratops ' 'TrueForAll(AddressOf EndsWithSaurus: False ' 'Find(AddressOf EndsWithSaurus): Amargasaurus ' 'FindLast(AddressOf EndsWithSaurus): Dilophosaurus ' 'FindAll(AddressOf EndsWithSaurus): 'Amargasaurus 'Dilophosaurus ' '2 elements removed by RemoveAll(AddressOf EndsWithSaurus). ' 'List now contains: 'Compsognathus 'Oviraptor 'Velociraptor 'Deinonychus 'Gallimimus 'Triceratops ' 'Exists(AddressOf EndsWithSaurus): False
using System; using System.Collections.Generic; public class Example { public static void Main() { List<string> dinosaurs = new List<string>(); dinosaurs.Add("Compsognathus"); dinosaurs.Add("Amargasaurus"); dinosaurs.Add("Oviraptor"); dinosaurs.Add("Velociraptor"); dinosaurs.Add("Deinonychus"); dinosaurs.Add("Dilophosaurus"); dinosaurs.Add("Gallimimus"); dinosaurs.Add("Triceratops"); Console.WriteLine(); foreach(string dinosaur in dinosaurs) { Console.WriteLine(dinosaur); } Console.WriteLine("\nTrueForAll(EndsWithSaurus): {0}", dinosaurs.TrueForAll(EndsWithSaurus)); Console.WriteLine("\nFind(EndsWithSaurus): {0}", dinosaurs.Find(EndsWithSaurus)); Console.WriteLine("\nFindLast(EndsWithSaurus): {0}", dinosaurs.FindLast(EndsWithSaurus)); Console.WriteLine("\nFindAll(EndsWithSaurus):"); List<string> sublist = dinosaurs.FindAll(EndsWithSaurus); foreach(string dinosaur in sublist) { Console.WriteLine(dinosaur); } Console.WriteLine( "\n{0} elements removed by RemoveAll(EndsWithSaurus).", dinosaurs.RemoveAll(EndsWithSaurus)); Console.WriteLine("\nList now contains:"); foreach(string dinosaur in dinosaurs) { Console.WriteLine(dinosaur); } Console.WriteLine("\nExists(EndsWithSaurus): {0}", dinosaurs.Exists(EndsWithSaurus)); } // Search predicate returns true if a string ends in "saurus". private static bool EndsWithSaurus(String s) { if ((s.Length > 5) && (s.Substring(s.Length - 6).ToLower() == "saurus")) { return true; } else { return false; } } } /* This code example produces the following output: Compsognathus Amargasaurus Oviraptor Velociraptor Deinonychus Dilophosaurus Gallimimus Triceratops TrueForAll(EndsWithSaurus): False Find(EndsWithSaurus): Amargasaurus FindLast(EndsWithSaurus): Dilophosaurus FindAll(EndsWithSaurus): Amargasaurus Dilophosaurus 2 elements removed by RemoveAll(EndsWithSaurus). List now contains: Compsognathus Oviraptor Velociraptor Deinonychus Gallimimus Triceratops Exists(EndsWithSaurus): False */
using namespace System; using namespace System::Collections::Generic; // Search predicate returns true if a string ends in "saurus". bool EndsWithSaurus(String^ s) { if ((s->Length > 5) && (s->Substring(s->Length - 6)->ToLower() == "saurus")) { return true; } else { return false; } }; void main() { List<String^>^ dinosaurs = gcnew List<String^>(); dinosaurs->Add("Compsognathus"); dinosaurs->Add("Amargasaurus"); dinosaurs->Add("Oviraptor"); dinosaurs->Add("Velociraptor"); dinosaurs->Add("Deinonychus"); dinosaurs->Add("Dilophosaurus"); dinosaurs->Add("Gallimimus"); dinosaurs->Add("Triceratops"); Console::WriteLine(); for each(String^ dinosaur in dinosaurs ) { Console::WriteLine(dinosaur); } Console::WriteLine("\nTrueForAll(EndsWithSaurus): {0}", dinosaurs->TrueForAll(gcnew Predicate<String^>(EndsWithSaurus))); Console::WriteLine("\nFind(EndsWithSaurus): {0}", dinosaurs->Find(gcnew Predicate<String^>(EndsWithSaurus))); Console::WriteLine("\nFindLast(EndsWithSaurus): {0}", dinosaurs->FindLast(gcnew Predicate<String^>(EndsWithSaurus))); Console::WriteLine("\nFindAll(EndsWithSaurus):"); List<String^>^ sublist = dinosaurs->FindAll(gcnew Predicate<String^>(EndsWithSaurus)); for each(String^ dinosaur in sublist) { Console::WriteLine(dinosaur); } Console::WriteLine( "\n{0} elements removed by RemoveAll(EndsWithSaurus).", dinosaurs->RemoveAll(gcnew Predicate<String^>(EndsWithSaurus))); Console::WriteLine("\nList now contains:"); for each(String^ dinosaur in dinosaurs) { Console::WriteLine(dinosaur); } Console::WriteLine("\nExists(EndsWithSaurus): {0}", dinosaurs->Exists(gcnew Predicate<String^>(EndsWithSaurus))); } /* This code example produces the following output: Compsognathus Amargasaurus Oviraptor Velociraptor Deinonychus Dilophosaurus Gallimimus Triceratops TrueForAll(EndsWithSaurus): False Find(EndsWithSaurus): Amargasaurus FindLast(EndsWithSaurus): Dilophosaurus FindAll(EndsWithSaurus): Amargasaurus Dilophosaurus 2 elements removed by RemoveAll(EndsWithSaurus). List now contains: Compsognathus Oviraptor Velociraptor Deinonychus Gallimimus Triceratops Exists(EndsWithSaurus): False */
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2