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


List<T>.Contains Method

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

Determines whether an element is in the List<T>.

Namespace:  System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Function Contains ( _
    item As T _
) As Boolean
public bool Contains(
    T item
)

Parameters

  • item
    Type: T
    The object to locate in the List<T>. The value can be nulla null reference (Nothing in Visual Basic) for reference types.

Return Value

Type: System.Boolean
true if item is found in the List<T>; otherwise, false.

Implements

ICollection<T>.Contains(T)

Remarks

This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.

This method performs a linear search; therefore, this method is an O(n) operation, where n is Count.

Examples

The following code example demonstrates the Contains method and various other properties and methods of the List<T> generic class. After the list has been populated, the Contains method is used to search for an item.

Imports System.Collections.Generic

Public Class Example

   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      Dim dinosaurs As New List(Of String)

      outputBlock.Text &= String.Format(vbLf & "Capacity: {0}", dinosaurs.Capacity) & vbCrLf

      dinosaurs.Add("Tyrannosaurus")
      dinosaurs.Add("Amargasaurus")
      dinosaurs.Add("Mamenchisaurus")
      dinosaurs.Add("Deinonychus")
      dinosaurs.Add("Compsognathus")

      outputBlock.Text &= vbCrLf
      For Each dinosaur As String In dinosaurs
         outputBlock.Text &= dinosaur & vbCrLf
      Next

      outputBlock.Text &= String.Format(vbLf & "Capacity: {0}", dinosaurs.Capacity) & vbCrLf
      outputBlock.Text &= String.Format("Count: {0}", dinosaurs.Count) & vbCrLf

      outputBlock.Text &= vbLf & String.Format("Contains(""Deinonychus"": {0}", _
          dinosaurs.Contains("Deinonychus")) & vbCrLf

      outputBlock.Text &= String.Format(vbLf & "Insert(2, ""Compsognathus"")") & vbCrLf
      dinosaurs.Insert(2, "Compsognathus")

      outputBlock.Text &= vbCrLf
      For Each dinosaur As String In dinosaurs
         outputBlock.Text &= dinosaur & vbCrLf
      Next

      outputBlock.Text &= String.Format(vbLf & "dinosaurs(3): {0}", dinosaurs(3)) & vbCrLf

      outputBlock.Text &= vbLf & "Remove(""Compsognathus"")" & vbCrLf
      dinosaurs.Remove("Compsognathus")

      outputBlock.Text &= vbCrLf
      For Each dinosaur As String In dinosaurs
         outputBlock.Text &= dinosaur & vbCrLf
      Next

      dinosaurs.TrimExcess()
      outputBlock.Text &= vbLf & "TrimExcess()" & vbCrLf
      outputBlock.Text &= String.Format("Capacity: {0}", dinosaurs.Capacity) & vbCrLf
      outputBlock.Text &= String.Format("Count: {0}", dinosaurs.Count) & vbCrLf

      dinosaurs.Clear()
      outputBlock.Text &= vbLf & "Clear()" & vbCrLf
      outputBlock.Text &= String.Format("Capacity: {0}", dinosaurs.Capacity) & vbCrLf
      outputBlock.Text &= String.Format("Count: {0}", dinosaurs.Count) & vbCrLf
   End Sub
End Class

' This code example produces the following output:
'
'Capacity: 0
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'Capacity: 8
'Count: 5
'
'Contains("Deinonychus"): True
'
'Insert(2, "Compsognathus")
'
'Tyrannosaurus
'Amargasaurus
'Compsognathus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'dinosaurs(3): Mamenchisaurus
'
'Remove("Compsognathus")
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'TrimExcess()
'Capacity: 5
'Count: 5
'
'Clear()
'Capacity: 5
'Count: 0
using System;
using System.Collections.Generic;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      List<string> dinosaurs = new List<string>();

      outputBlock.Text += String.Format("\nCapacity: {0}", dinosaurs.Capacity) + "\n";

      dinosaurs.Add("Tyrannosaurus");
      dinosaurs.Add("Amargasaurus");
      dinosaurs.Add("Mamenchisaurus");
      dinosaurs.Add("Deinonychus");
      dinosaurs.Add("Compsognathus");

      outputBlock.Text += "\n";
      foreach (string dinosaur in dinosaurs)
      {
         outputBlock.Text += dinosaur + "\n";
      }

      outputBlock.Text += String.Format("\nCapacity: {0}", dinosaurs.Capacity) + "\n";
      outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";

      outputBlock.Text += String.Format("\nContains(\"Deinonychus\"): {0}",
          dinosaurs.Contains("Deinonychus")) + "\n";

      outputBlock.Text += String.Format("\nInsert(2, \"Compsognathus\")") + "\n";
      dinosaurs.Insert(2, "Compsognathus");

      outputBlock.Text += "\n";
      foreach (string dinosaur in dinosaurs)
      {
         outputBlock.Text += dinosaur + "\n";
      }

      outputBlock.Text += String.Format("\ndinosaurs[3]: {0}", dinosaurs[3]) + "\n";

      outputBlock.Text += "\nRemove(\"Compsognathus\")" + "\n";
      dinosaurs.Remove("Compsognathus");

      outputBlock.Text += "\n";
      foreach (string dinosaur in dinosaurs)
      {
         outputBlock.Text += dinosaur + "\n";
      }

      dinosaurs.TrimExcess();
      outputBlock.Text += "\nTrimExcess()" + "\n";
      outputBlock.Text += String.Format("Capacity: {0}", dinosaurs.Capacity) + "\n";
      outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";

      dinosaurs.Clear();
      outputBlock.Text += "\nClear()" + "\n";
      outputBlock.Text += String.Format("Capacity: {0}", dinosaurs.Capacity) + "\n";
      outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";
   }
}

/* This code example produces the following output:

Capacity: 0

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus

Capacity: 8
Count: 5

Contains("Deinonychus"): True

Insert(2, "Compsognathus")

Tyrannosaurus
Amargasaurus
Compsognathus
Mamenchisaurus
Deinonychus
Compsognathus

dinosaurs[3]: Mamenchisaurus

Remove("Compsognathus")

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus

TrimExcess()
Capacity: 5
Count: 5

Clear()
Capacity: 5
Count: 0
 */

Version Information

Silverlight

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

Platforms

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