Queryable.Contains 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定 IQueryable<T> 是否包含指定的元素。
重载
Contains<TSource>(IQueryable<TSource>, TSource) |
通过使用默认的相等比较器确定序列是否包含指定的元素。 |
Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) |
通过使用指定的 IEqualityComparer<T> 确定序列是否包含指定的元素。 |
Contains<TSource>(IQueryable<TSource>, TSource)
通过使用默认的相等比较器确定序列是否包含指定的元素。
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>
要在其中定位 item
的 IQueryable<T>。
- item
- TSource
要在序列中定位的对象。
返回
如果输入序列包含具有指定值的元素,则为 true
;否则为 false
。
例外
source
为 null
。
示例
下面的代码示例演示如何用于 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)生成一个表示自己作为构造泛型方法调用Contains<TSource>(IQueryable<TSource>, TSource)自身的方法MethodCallExpression。 然后,MethodCallExpressionExecute<TResult>(Expression)它将传递给由参数属性source
表示Provider的方法IQueryProvider。
执行表示调用 Contains<TSource>(IQueryable<TSource>, TSource) 的表达式树导致的查询行为取决于参数类型的 source
实现。 预期行为是它确定是否 source
包含 item
。
适用于
Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>)
通过使用指定的 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>
要在其中定位 item
的 IQueryable<T>。
- item
- TSource
要在序列中定位的对象。
- comparer
- IEqualityComparer<TSource>
用于比较值的 IEqualityComparer<T>。
返回
如果输入序列包含具有指定值的元素,则为 true
;否则为 false
。
例外
source
为 null
。
注解
该方法Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>)生成一个表示自己作为构造泛型方法调用Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>)自身的方法MethodCallExpression。 然后,MethodCallExpressionExecute<TResult>(Expression)它将传递给由参数属性source
表示Provider的方法IQueryProvider。
执行表示调用 Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) 的表达式树导致的查询行为取决于参数类型的 source
实现。 预期行为是,它确定是否source``item
包含用于comparer
比较值。