Queryable.Contains Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa, czy element IQueryable<T> zawiera określony element.
Przeciążenia
Contains<TSource>(IQueryable<TSource>, TSource) |
Określa, czy sekwencja zawiera określony element przy użyciu domyślnego modułu porównania równości. |
Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) |
Określa, czy sekwencja zawiera określony element przy użyciu określonego IEqualityComparer<T>elementu . |
Contains<TSource>(IQueryable<TSource>, TSource)
Określa, czy sekwencja zawiera określony element przy użyciu domyślnego modułu porównania równości.
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
Parametry typu
- TSource
Typ elementów elementu source
.
Parametry
- source
- IQueryable<TSource>
Element IQueryable<T> , w którym należy zlokalizować element item
.
- item
- TSource
Obiekt do zlokalizowania w sekwencji.
Zwraca
true
jeśli sekwencja wejściowa zawiera element, który ma określoną wartość; w przeciwnym razie , false
.
Wyjątki
source
to null
.
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą Contains<TSource>(IQueryable<TSource>, TSource) metody określić, czy sekwencja zawiera określony element.
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'.
Uwagi
Metoda Contains<TSource>(IQueryable<TSource>, TSource) generuje obiekt MethodCallExpression , który reprezentuje wywołanie Contains<TSource>(IQueryable<TSource>, TSource) siebie jako skonstruowaną metodę ogólną. Następnie przekazuje MethodCallExpression wartość do Execute<TResult>(Expression) metody IQueryProvider reprezentowanej przez Provider właściwość parametru source
.
Zachowanie zapytania, które występuje w wyniku wykonania drzewa wyrażeń reprezentującego wywołanie Contains<TSource>(IQueryable<TSource>, TSource) , zależy od implementacji typu parametru source
. Oczekiwane zachowanie polega na tym, że określa, czy source
element zawiera item
element .
Dotyczy
Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>)
Określa, czy sekwencja zawiera określony element przy użyciu określonego IEqualityComparer<T>elementu .
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
Parametry typu
- TSource
Typ elementów elementu source
.
Parametry
- source
- IQueryable<TSource>
Element IQueryable<T> , w którym należy zlokalizować element item
.
- item
- TSource
Obiekt do zlokalizowania w sekwencji.
- comparer
- IEqualityComparer<TSource>
Element IEqualityComparer<T> do porównywania wartości.
Zwraca
true
jeśli sekwencja wejściowa zawiera element, który ma określoną wartość; w przeciwnym razie , false
.
Wyjątki
source
to null
.
Uwagi
Metoda Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) generuje obiekt MethodCallExpression , który reprezentuje wywołanie Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) siebie jako skonstruowaną metodę ogólną. Następnie przekazuje MethodCallExpression wartość do Execute<TResult>(Expression) metody IQueryProvider reprezentowanej przez Provider właściwość parametru source
.
Zachowanie zapytania, które występuje w wyniku wykonania drzewa wyrażeń reprezentującego wywołanie Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) , zależy od implementacji typu parametru source
. Oczekiwane zachowanie polega na tym, że określa, czy source
element zawiera item
przy użyciu funkcji comparer
porównywania wartości.