Queryable.Contains Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Determines whether an IQueryable<T> contains a specified element.
Overloads
Contains<TSource>(IQueryable<TSource>, TSource) |
Determines whether a sequence contains a specified element by using the default equality comparer. |
Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) |
Determines whether a sequence contains a specified element by using a specified IEqualityComparer<T>. |
Contains<TSource>(IQueryable<TSource>, TSource)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Determines whether a sequence contains a specified element by using the default equality comparer.
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
Type Parameters
- TSource
The type of the elements of source
.
Parameters
- source
- IQueryable<TSource>
An IQueryable<T> in which to locate item
.
- item
- TSource
The object to locate in the sequence.
Returns
true
if the input sequence contains an element that has the specified value; otherwise, false
.
Exceptions
source
is null
.
Examples
The following code example demonstrates how to use Contains<TSource>(IQueryable<TSource>, TSource) to determine whether a sequence contains a specific 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'.
Remarks
The Contains<TSource>(IQueryable<TSource>, TSource) method generates a MethodCallExpression that represents calling Contains<TSource>(IQueryable<TSource>, TSource) itself as a constructed generic method. It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source
parameter.
The query behavior that occurs as a result of executing an expression tree that represents calling Contains<TSource>(IQueryable<TSource>, TSource) depends on the implementation of the type of the source
parameter. The expected behavior is that it determines if source
contains item
.
Applies to
Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Determines whether a sequence contains a specified element by using a specified 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
Type Parameters
- TSource
The type of the elements of source
.
Parameters
- source
- IQueryable<TSource>
An IQueryable<T> in which to locate item
.
- item
- TSource
The object to locate in the sequence.
- comparer
- IEqualityComparer<TSource>
An IEqualityComparer<T> to compare values.
Returns
true
if the input sequence contains an element that has the specified value; otherwise, false
.
Exceptions
source
is null
.
Remarks
The Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) method generates a MethodCallExpression that represents calling Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) itself as a constructed generic method. It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source
parameter.
The query behavior that occurs as a result of executing an expression tree that represents calling Contains<TSource>(IQueryable<TSource>, TSource, IEqualityComparer<TSource>) depends on the implementation of the type of the source
parameter. The expected behavior is that it determines if source
contains item
by using comparer
to compare values.