Enumerable.Contains<TSource> Method (IEnumerable<TSource>, TSource)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Determines whether a sequence contains a specified element by using the default equality comparer.

Namespace:  System.Linq
Assembly:  System.Core (in System.Core.dll)


<ExtensionAttribute> _
Public Shared Function Contains(Of TSource) ( _
    source As IEnumerable(Of TSource), _
    value As TSource _
) As Boolean
public static bool Contains<TSource>(
    this IEnumerable<TSource> source,
    TSource value

Type Parameters

  • TSource
    The type of the elements of source.


  • value
    Type: TSource
    The value to locate in the sequence.

Return Value

Type: System.Boolean
true if the source sequence contains an element that has the specified value; otherwise, false.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<TSource>. When you use instance method syntax to call this method, omit the first parameter.


Exception Condition

source is nulla null reference (Nothing in Visual Basic).


If the type of source implements ICollection<T>, the Contains method in that implementation is invoked to obtain the result. Otherwise, this method determines whether source contains the specified element.

Enumeration is terminated as soon as a matching element is found.

Elements are compared to the specified value by using the default equality comparer, Default.


The following code example demonstrates how to use Contains<TSource>(IEnumerable<TSource>, TSource) to determine whether an array contains a specific element.

      ' Create an array of strings.
      Dim fruits() As String = {"apple", "banana", "mango", "orange", "passionfruit", "grape"}

      ' This is the string to search the array for.
      Dim fruit As String = "mango"

      ' Determine if the array contains the specified string.
      Dim hasMango As Boolean = fruits.Contains(fruit)

      Dim text As String = IIf(hasMango, "does", "does not")

      ' Display the output.
      outputBlock.Text &= "The array " & text & " contain " & fruit & vbCrLf

      ' This code produces the following output:
      ' The array does contain mango

      string[] fruits = { "apple", "banana", "mango", "orange", "passionfruit", "grape" };

      string fruit = "mango";

      bool hasMango = fruits.Contains(fruit);

      outputBlock.Text += String.Format(
          "The array {0} contain '{1}'.",
          hasMango ? "does" : "does not",
          fruit) + "\n";

      // This code produces the following output:
      // The array does contain 'mango'. 

Version Information


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0


For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.