C# | Searching the index of specified object in Collection<T> - GeeksforGeeks

01 Feb, 2019
Collection<T>.IndexOf(T) method is used to search for the specified object and returns the zero-based index of the first occurrence within the entire Collection<T>.
Syntax:
public int IndexOf (T item);

Here, item is the object to locate in the List<T>. The value can be null for reference types.
Return Value: This method returns the zero-based index of the first occurrence of item within the entire Collection<T>, if found, otherwise, -1.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to search for the specified// object and returns the zero-based// index of the first occurrence within// the entire Collectionusing System;using System.Collections.Generic;using System.Collections.ObjectModel;  class GFG {      // Driver code    public static void Main()    {        // Creating a collection of strings        Collection<string> myColl = new Collection<string>();          // Adding elements in Collection myColl        myColl.Add("A");        myColl.Add("B");        myColl.Add("C");        myColl.Add("D");        myColl.Add("D");        myColl.Add("E");          // Displaying the elements in myColl        foreach(string str in myColl)        {            Console.WriteLine(str);        }          // Searching for the specified object        // and returns the zero-based index of        // the first occurrence within the entire        // Collection. If the object doesn't contain the        // object, then -1 is returned        Console.WriteLine("Index : " + myColl.IndexOf("D"));    }}
Output:
A
B
C
D
D
E
Index : 3

Example 2:
// C# code to search for the specified// object and returns the zero-based// index of the first occurrence within// the entire Collectionusing System;using System.Collections.Generic;using System.Collections.ObjectModel;  class GFG {      // Driver code    public static void Main()    {        // Creating a collection of ints        Collection<int> myColl = new Collection<int>();          // Adding elements in Collection myColl        myColl.Add(2);        myColl.Add(3);        myColl.Add(4);        myColl.Add(5);          // Displaying the elements in myColl        foreach(int i in myColl)        {            Console.WriteLine(i);        }          // Searching for the specified object        // and returns the zero-based index of        // the first occurrence within the entire        // Collection. If the object doesn't contain the        // object, then -1 is returned        Console.WriteLine("Index : " + myColl.IndexOf(7));    }}
Output:
2
3
4
5
Index : -1

Note:
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, this method is an O(n) operation, where n is Count.
Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.collections.objectmodel.collection-1.indexof?view=netframework-4.7.2
CSharp-Collection-Class
CSharp-Collections.ObjectModel-Namespace
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Extension Method in C#
HashSet in C# with Examples
C# | Inheritance
Partial Classes in C#
C# | Generics - Introduction
Top 50 C# Interview Questions & Answers
Switch Statement in C#
Lambda Expressions in C#
Convert String to Character Array in C#
C# | How to insert an element in an Array?