Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

List<T>.TrueForAll, méthode

Détermine si chaque élément de List<T> correspond aux conditions définies par le prédicat spécifié.

Espace de noms :  System.Collections.Generic
Assembly :  mscorlib (dans mscorlib.dll)
public bool TrueForAll(
	Predicate<T> match
)

Paramètres

match
Type : System.Predicate<T>
Délégué Predicate<T> qui définit les conditions à vérifier par rapport aux éléments.

Valeur de retour

Type : System.Boolean
true si chaque élément de List<T> correspond aux conditions définies par le prédicat spécifié ; sinon, false. Si la liste ne comporte pas d'éléments, la valeur de retour est true.
ExceptionCondition
ArgumentNullException

match a la valeur null.

Predicate<T> 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<T> actuel sont passés individuellement au délégué Predicate<T> et le traitement s'arrête lorsque le délégué retourne false pour n'importe quel élément. Les éléments sont traités dans l'ordre et tous les appels sont effectués sur un seul thread.

Cette méthode est une opération O(n), où n est égal à Count.

L'exemple suivant illustre la méthode TrueForAll et plusieurs autres méthodes qui utilisent le délégué générique de Predicate<T>.

Un List<T> de chaînes est créé, contenant 8 noms de dinosaures dont deux (aux emplacements 1 et 5) se terminent par "saure". L'exemple définit également un prédicat méthode nommée EndsWithSaurusde recherche, qui accepte un paramètre de chaîne et retourne une valeur booléenne indiquant si la chaîne d'entrée se termine par « saurus ».

La méthode TrueForAll parcourt la liste en commençant au début et en passant chaque élément un à un à la méthode EndsWithSaurus. La recherche s'arrête lorsque la méthode EndsWithSaurus retourne false.

RemarqueRemarque

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.


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)
    {
        return s.ToLower().EndsWith("saurus");
    }
}

/* 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
 */


.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.