Collection<T>.IndexOf Method
Searches for the specified object and returns the zero-based index of the first occurrence within the entire Collection<T>.
Namespace: System.Collections.ObjectModel
Assembly: mscorlib (in mscorlib.dll)
Parameters
Return Value
Type: System.Int32The zero-based index of the first occurrence of item within the entire Collection<T>, if found; otherwise, -1.
Implements
IList<T>.IndexOf(T)The Collection<T> is searched forward starting at the first element and ending at the last element.
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, the average execution time is proportional to Count. That is, this method is an O(n) operation, where n is Count.
The following code example demonstrates many of the properties and methods of Collection<T>. The code example creates a collection of strings, uses the Add method to add several strings, displays the Count, and lists the strings. The example uses the IndexOf method to find the index of a string and the Contains method to determine whether a string is in the collection. The example inserts a string using the Insert method and retrieves and sets strings using the default Item property (the indexer in C#). The example removes strings by string identity using the Remove method and by index using the RemoveAt method. Finally, the Clear method is used to clear all strings from the collection.
using System; using System.Collections.Generic; using System.Collections.ObjectModel; public class Demo { public static void Main() { Collection<string> dinosaurs = new Collection<string>(); dinosaurs.Add("Psitticosaurus"); dinosaurs.Add("Caudipteryx"); dinosaurs.Add("Compsognathus"); dinosaurs.Add("Muttaburrasaurus"); Console.WriteLine("{0} dinosaurs:", dinosaurs.Count); Display(dinosaurs); Console.WriteLine("\nIndexOf(\"Muttaburrasaurus\"): {0}", dinosaurs.IndexOf("Muttaburrasaurus")); Console.WriteLine("\nContains(\"Caudipteryx\"): {0}", dinosaurs.Contains("Caudipteryx")); Console.WriteLine("\nInsert(2, \"Nanotyrannus\")"); dinosaurs.Insert(2, "Nanotyrannus"); Display(dinosaurs); Console.WriteLine("\ndinosaurs[2]: {0}", dinosaurs[2]); Console.WriteLine("\ndinosaurs[2] = \"Microraptor\""); dinosaurs[2] = "Microraptor"; Display(dinosaurs); Console.WriteLine("\nRemove(\"Microraptor\")"); dinosaurs.Remove("Microraptor"); Display(dinosaurs); Console.WriteLine("\nRemoveAt(0)"); dinosaurs.RemoveAt(0); Display(dinosaurs); Console.WriteLine("\ndinosaurs.Clear()"); dinosaurs.Clear(); Console.WriteLine("Count: {0}", dinosaurs.Count); } private static void Display(Collection<string> cs) { Console.WriteLine(); foreach( string item in cs ) { Console.WriteLine(item); } } } /* This code example produces the following output: 4 dinosaurs: Psitticosaurus Caudipteryx Compsognathus Muttaburrasaurus IndexOf("Muttaburrasaurus"): 3 Contains("Caudipteryx"): True Insert(2, "Nanotyrannus") Psitticosaurus Caudipteryx Nanotyrannus Compsognathus Muttaburrasaurus dinosaurs[2]: Nanotyrannus dinosaurs[2] = "Microraptor" Psitticosaurus Caudipteryx Microraptor Compsognathus Muttaburrasaurus Remove("Microraptor") Psitticosaurus Caudipteryx Compsognathus Muttaburrasaurus RemoveAt(0) Caudipteryx Compsognathus Muttaburrasaurus dinosaurs.Clear() Count: 0 */
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.