List<T>.Contains Method
Determines whether an element is in the List<T>.
Namespace: System.Collections.Generic
Assembly: mscorlib (in mscorlib.dll)
This method determines equality by using the default equality comparer, as defined by the object's implementation of the IEquatable<T>.Equals method 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.
The following example contains a list of complex objects of type Box. The Box class implements the IEquatable<T>.Equals method so that two boxes are considered equal if their dimensions are the same. In this example, the Contains method returns true, because a box that has the specified dimensions is already in the collection.
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<Box> boxes = new List<Box>(); boxes.Add(new Box(8, 8, 4)); boxes.Add(new Box(8, 4, 8)); boxes.Add(new Box(8, 6, 4)); if (boxes.Contains(new Box(8, 6, 4))) { Console.WriteLine("An equal box is already in the collection."); } else { Console.WriteLine("Box can be added."); } //Outputs "An equal box is already in the collection." } } public class Box : IEquatable<Box> { public Box(int h, int l, int w) { this.Height = h; this.Length = l; this.Width = w; } public int Height { get; set; } public int Length { get; set; } public int Width { get; set; } public bool Equals(Box other) { if (this.Height == other.Height && this.Length == other.Length && this.Width == other.Width) { return true; } else { return false; } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.