Assembly : mscorlib (dans mscorlib.dll)
SyntaxePublic Function RemoveAll ( _ match As Predicate(Of T) _ ) As Integer
Dim instance As List(Of T) Dim match As Predicate(Of T) Dim returnValue As Integer returnValue = instance.RemoveAll(match)
public int RemoveAll ( Predicate<T> match )
public: int RemoveAll ( Predicate<T>^ match )
public int RemoveAll ( Predicate<T> match )
public function RemoveAll ( match : Predicate<T> ) : int
Paramètres
- match
Délégué Predicate qui définit les conditions des éléments à supprimer.
Valeur de retour
Nombre d'éléments supprimés du List.
NotesPredicate est le délégué d'une méthode qui retourne true, si l'objet qui lui est passé correspond aux conditions définies dans ce délégué. Les éléments du List actuel sont passés un par un au délégué Predicate et les éléments qui correspondent aux conditions sont supprimés du List.
Cette méthode effectue une recherche linéaire ; par conséquent, cette méthode est une opération O(n), où n est égal à Count.
ExempleL'exemple de code suivant illustre la méthode RemoveAll et de nombreuses autres méthodes qui utilisent le délégué générique Predicate.
Un List de chaînes est créé, contenant 8 noms de dinosaures dont deux (aux emplacements 1 et 5) se terminent par "saure". L'exemple de code définit également une méthode de recherche de prédicat nommée EndsWithSaurus, qui accepte un paramètre de chaîne et retourne une valeur Boolean qui indique si la chaîne d'entrée se termine par "saure".
Les méthodes Find, FindLast et FindAll permettent d'effectuer la recherche dans la liste avec la méthode de prédicat de recherche.
La méthode RemoveAll permet de supprimer toutes les entrées se terminant par "saurus". Elle parcourt la liste en commençant au début et en passant chaque élément un à un à la méthode EndsWithSaurus. L'élément est supprimé si la méthode EndsWithSaurus retourne true.
Remarque |
|---|
| En C# et Visual Basic, il n'est pas nécessaire de créer le délégué Predicate<string> (Predicate(Of String) en Visual Basic) explicitement. Ces langages déduisent le délégué approprié à partir du contexte et le créent automatiquement. |
Enfin, la méthode Exists vérifie qu'aucune chaîne de la liste ne se termine par "saurus".
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 */
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Remarque
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ