Queryable.Contains 方法

定义

确定 IQueryable<T> 是否包含指定的元素。

重载

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

通过使用默认的相等比较器确定序列是否包含指定的元素。

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

通过使用指定的 IEqualityComparer<T> 确定序列是否包含指定的元素。

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

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

通过使用默认的相等比较器确定序列是否包含指定的元素。

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

类型参数

TSource

source 的元素类型。

参数

source
IQueryable<TSource>

要在其中定位 itemIQueryable<T>

item
TSource

要在序列中定位的对象。

返回

如果输入序列包含具有指定值的元素,则为 true;否则为 false

例外

sourcenull

示例

下面的代码示例演示如何使用 Contains<TSource>(IQueryable<TSource>, TSource) 来确定序列是否包含特定元素。

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

注解

方法 Contains<TSource>(IQueryable<TSource>, TSource) 生成一个 , MethodCallExpression 表示将调用 Contains<TSource>(IQueryable<TSource>, TSource) 自身作为构造的泛型方法。 然后,MethodCallExpressionExecute<TResult>(Expression)它将 传递给 由 Provider 参数的 属性表示的 的 source 方法IQueryProvider

由于执行表示调用 Contains<TSource>(IQueryable<TSource>, TSource) 的表达式树而发生的查询行为取决于参数类型的 source 实现。 预期的行为是它确定是否 source 包含 item

适用于

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

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

通过使用指定的 IEqualityComparer<T> 确定序列是否包含指定的元素。

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

类型参数

TSource

source 的元素类型。

参数

source
IQueryable<TSource>

要在其中定位 itemIQueryable<T>

item
TSource

要在序列中定位的对象。

comparer
IEqualityComparer<TSource>

用于比较值的 IEqualityComparer<T>

返回

如果输入序列包含具有指定值的元素,则为 true;否则为 false

例外

sourcenull

注解

方法 Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) 生成一个 , MethodCallExpression 表示将调用 Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) 自身作为构造的泛型方法。 然后,MethodCallExpressionExecute<TResult>(Expression)它将 传递给 由 Provider 参数的 属性表示的 的 source 方法IQueryProvider

由于执行表示调用 Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) 的表达式树而发生的查询行为取决于参数类型的 source 实现。 预期的行为是,它通过使用 comparer 比较值来确定是否source包含 item

适用于