Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Método List<T>.Exists

Determina se a List<T> contém elementos que coincidam com as condições definidas pelo predicado especificado.

Namespace:  System.Collections.Generic
Assembly:  mscorlib (em mscorlib.dll)
public bool Exists(
	Predicate<T> match
)

Parâmetros

match
Tipo: System.Predicate<T>
O Predicate<T> delegado que define as condições dos elementos para procurar.

Valor de retorno

Tipo: System.Boolean
true Se a List<T> contém um ou mais elementos que coincidem com as condições definidas pelo predicado especificado; Caso contrário, false.
ExceçãoCondição
ArgumentNullException

match é null.

O Predicate<T> é um delegado para um método que retorna true se o objeto passado para ele coincide com as condições definidas no delegado. Os elementos do atual List<T> individualmente são passadas para o Predicate<T> representante e o processamento é interrompido quando uma correspondência for encontrada.

Esse método realiza uma pesquisa linear; Portanto, esse método é um O (n) operação, onde n é Count.

O exemplo de código a seguir demonstra o Exists método e vários outros métodos que usam o Predicate<T> representante genérico.

A List<T> de seqüências de caracteres é criado, contendo os nomes de dinosaur 8, dois dos quais (em posições 1 e 5) terminam com "saurus". O exemplo de código também define um método de predicado de pesquisa chamado EndsWithSaurus, que aceita um parâmetro de seqüência de caracteres e retorna um valor booleano valor que indica se a seqüência de caracteres de entrada termina em "saurus".

O Find, FindLast, e FindAll métodos são usados para pesquisar a lista com o método de predicado de pesquisa e, em seguida o RemoveAll método é usado para remover todas as entradas que terminam com "saurus".

Finalmente, o Exists método é chamado. Ele percorre a lista desde o início, passando cada elemento para o EndsWithSaurus método. A pesquisa é interrompida e o método retornará true se a EndsWithSaurus método retorna true de qualquer elemento. O Exists método retorna false porque todos os elementos desse tipo foram removidos.

ObservaçãoObservação

No C# e Visual Basic, não é necessário criar o Predicate<string> delegar (Predicate(Of String) em Visual Basic) explicitamente. Essas linguagens inferir o representante correto do contexto e criá-lo automaticamente.


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

Com suporte em: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Biblioteca de Classes Portátil

Com suporte em: Biblioteca de Classes Portátil

.NET para aplicativos da Windows Store

Com suporte em: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte .Requisitos de sistema do NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.