Compartilhar via


Queryable.Contains Método

Definição

Determina se um IQueryable<T> contém um elemento especificado.

Sobrecargas

Contains<TSource>(IQueryable<TSource>, TSource)

Determina se uma sequência contém um elemento especificado usando o comparador de igualdade padrão.

Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>)

Determina se uma sequência contém um elemento especificado usando um IEqualityComparer<T> especificado.

Contains<TSource>(IQueryable<TSource>, TSource)

Origem:
Queryable.cs
Origem:
Queryable.cs
Origem:
Queryable.cs

Determina se uma sequência contém um elemento especificado usando o comparador de igualdade padrão.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static bool Contains(System::Linq::IQueryable<TSource> ^ source, TSource item);
public static bool Contains<TSource> (this System.Linq.IQueryable<TSource> source, TSource item);
static member Contains : System.Linq.IQueryable<'Source> * 'Source -> bool
<Extension()>
Public Function Contains(Of TSource) (source As IQueryable(Of TSource), item As TSource) As Boolean

Parâmetros de tipo

TSource

O tipo dos elementos de source.

Parâmetros

source
IQueryable<TSource>

Um IQueryable<T> no qual item será localizado.

item
TSource

O objeto a ser localizado na sequência.

Retornos

true se a sequência de entrada contiver um elemento que tem o valor especificado; caso contrário, false.

Exceções

source é null.

Exemplos

O exemplo de código a seguir demonstra como usar Contains<TSource>(IQueryable<TSource>, TSource) para determinar se uma sequência contém um elemento específico.

string[] fruits = { "apple", "banana", "mango",
                    "orange", "passionfruit", "grape" };

// The string to search for in the array.
string mango = "mango";

bool hasMango = fruits.AsQueryable().Contains(mango);

Console.WriteLine(
    "The array {0} contain '{1}'.",
    hasMango ? "does" : "does not",
    mango);

// This code produces the following output:
//
// The array does contain 'mango'.
Dim fruits() As String = {"apple", "banana", "mango", _
                        "orange", "passionfruit", "grape"}

' The string to search for in the array.
Dim mango As String = "mango"

Dim hasMango As Boolean = fruits.AsQueryable().Contains(mango)

MsgBox(String.Format("The array {0} contain '{1}'.", _
        IIf(hasMango, "does", "does not"), mango))

' This code produces the following output:
'
' The array does contain 'mango'.

Comentários

O Contains<TSource>(IQueryable<TSource>, TSource) método gera um MethodCallExpression que representa chamar Contains<TSource>(IQueryable<TSource>, TSource) a si mesmo como um método genérico construído. Em seguida, ele passa o MethodCallExpression para o Execute<TResult>(Expression) método do IQueryProvider representado pela Provider propriedade do source parâmetro .

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada Contains<TSource>(IQueryable<TSource>, TSource) depende da implementação do tipo do source parâmetro. O comportamento esperado é que ele determina se source contém item.

Aplica-se a

Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>)

Origem:
Queryable.cs
Origem:
Queryable.cs
Origem:
Queryable.cs

Determina se uma sequência contém um elemento especificado usando um IEqualityComparer<T> especificado.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static bool Contains(System::Linq::IQueryable<TSource> ^ source, TSource item, System::Collections::Generic::IEqualityComparer<TSource> ^ comparer);
public static bool Contains<TSource> (this System.Linq.IQueryable<TSource> source, TSource item, System.Collections.Generic.IEqualityComparer<TSource> comparer);
public static bool Contains<TSource> (this System.Linq.IQueryable<TSource> source, TSource item, System.Collections.Generic.IEqualityComparer<TSource>? comparer);
static member Contains : System.Linq.IQueryable<'Source> * 'Source * System.Collections.Generic.IEqualityComparer<'Source> -> bool
<Extension()>
Public Function Contains(Of TSource) (source As IQueryable(Of TSource), item As TSource, comparer As IEqualityComparer(Of TSource)) As Boolean

Parâmetros de tipo

TSource

O tipo dos elementos de source.

Parâmetros

source
IQueryable<TSource>

Um IQueryable<T> no qual item será localizado.

item
TSource

O objeto a ser localizado na sequência.

comparer
IEqualityComparer<TSource>

Um IEqualityComparer<T> para comparar valores.

Retornos

true se a sequência de entrada contiver um elemento que tem o valor especificado; caso contrário, false.

Exceções

source é null.

Comentários

O Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) método gera um MethodCallExpression que representa chamar Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) a si mesmo como um método genérico construído. Em seguida, ele passa o MethodCallExpression para o Execute<TResult>(Expression) método do IQueryProvider representado pela Provider propriedade do source parâmetro .

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) depende da implementação do tipo do source parâmetro. O comportamento esperado é que ele determina se source contém item usando comparer para comparar valores.

Aplica-se a