Прочитать на английском

Поделиться через


Queryable.Contains Метод

Определение

Определяет, содержит ли объект IQueryable<T> указанный элемент.

Перегрузки

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

Определяет, содержится ли указанный элемент в последовательности, используя компаратор проверки на равенство по умолчанию.

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

Определяет, содержит ли последовательность заданный элемент, используя указанный компаратор IEqualityComparer<T>.

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

Исходный код:
Queryable.cs
Исходный код:
Queryable.cs
Исходный код:
Queryable.cs

Определяет, содержится ли указанный элемент в последовательности, используя компаратор проверки на равенство по умолчанию.

C#
public static bool Contains<TSource> (this System.Linq.IQueryable<TSource> source, TSource item);

Параметры типа

TSource

Тип элементов source.

Параметры

source
IQueryable<TSource>

Объект IQueryable<T>, в котором требуется найти элемент item.

item
TSource

Объект, который требуется найти в последовательности.

Возвращаемое значение

true, если входная последовательность содержит элемент с указанным значением, в противном случае — false.

Исключения

source имеет значение null.

Примеры

В следующем примере кода показано, как с помощью Contains<TSource>(IQueryable<TSource>, TSource) определить, содержит ли последовательность определенный элемент.

C#
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'.

Комментарии

Метод Contains<TSource>(IQueryable<TSource>, TSource) создает объект , MethodCallExpression представляющий вызов Contains<TSource>(IQueryable<TSource>, TSource) как сконструированный универсальный метод. Затем он передает в MethodCallExpressionExecute<TResult>(Expression) метод объекта , IQueryProvider представленный свойством Providersource параметра .

Поведение запроса, возникающее в результате выполнения дерева выражений, представляющего вызов Contains<TSource>(IQueryable<TSource>, TSource) , зависит от реализации типа source параметра. Ожидаемое поведение заключается в том, что он определяет, содержит itemли source .

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

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

Исходный код:
Queryable.cs
Исходный код:
Queryable.cs
Исходный код:
Queryable.cs

Определяет, содержит ли последовательность заданный элемент, используя указанный компаратор IEqualityComparer<T>.

C#
public static bool Contains<TSource> (this System.Linq.IQueryable<TSource> source, TSource item, System.Collections.Generic.IEqualityComparer<TSource> comparer);
C#
public static bool Contains<TSource> (this System.Linq.IQueryable<TSource> source, TSource item, System.Collections.Generic.IEqualityComparer<TSource>? comparer);

Параметры типа

TSource

Тип элементов source.

Параметры

source
IQueryable<TSource>

Объект IQueryable<T>, в котором требуется найти элемент item.

item
TSource

Объект, который требуется найти в последовательности.

comparer
IEqualityComparer<TSource>

Компаратор IEqualityComparer<T>, используемый для сравнения значений.

Возвращаемое значение

true, если входная последовательность содержит элемент с указанным значением, в противном случае — false.

Исключения

source имеет значение null.

Комментарии

Метод Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) создает объект , MethodCallExpression представляющий вызов Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) как сконструированный универсальный метод. Затем он передает в MethodCallExpressionExecute<TResult>(Expression) метод объекта , IQueryProvider представленный свойством Providersource параметра .

Поведение запроса, возникающее в результате выполнения дерева выражений, представляющего вызов Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) , зависит от реализации типа source параметра. Ожидаемое поведение заключается в том, что он определяет, содержит item ли source он, с помощью для comparer сравнения значений.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0