C# | Get or set the element at specified index in Collection<T> - GeeksforGeeks

01 Feb, 2019
Collection<T>.Item[Int32] property is used to get or set the element at the specified index.
Syntax:
public T this[int index] { get; set; }

Here, index is the zero-based index of the element to get or set.
Return Value: The element at the specified index.
Exception: This method will give ArgumentOutOfRangeException if the index is less than zero or index is equal to or greater than Count.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to get or set the// element at the specified indexusing 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("E");          // Displaying the elements in myColl        foreach(string str in myColl)        {            Console.WriteLine(str);        }          // Get the element at index 2        Console.WriteLine("Element at index 2 is : " + myColl[2]);          // Get the element at index 3        Console.WriteLine("Element at index 3 is : " + myColl[3]);          // Set the element at index 3        myColl[3] = "GFG";          // Displaying the elements in myColl        foreach(string str in myColl)        {            Console.WriteLine(str);        }    }}
Output:
A
B
C
D
E
Element at index 2 is : C
Element at index 3 is : D
A
B
C
GFG
E

Example 2:
// C# code to get or set the// element at the specified indexusing 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);        }          // Get the element at index -1        // This should raise "ArgumentOutOfRangeException"        // as the index is less than 0        Console.WriteLine("Element at index -1 is : " + myColl[-1]);          // Set the element at index 2        myColl[2] = 10;          // Displaying the elements in myColl        foreach(int i in myColl)        {            Console.WriteLine(i);        }    }}
Runtime Error:
Unhandled Exception:System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index
Note:
Collection<T> accepts null as a valid value for reference types and allows duplicate elements.
This property provides the ability to access a specific element in the collection by using the syntax : myCollection[index].
Retrieving the value of this property is an O(1) operation.
Setting the property is also an O(1) operation.
Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.collections.objectmodel.collection-1.item?view=netframework-4.7.2
CSharp-Collection-Class
CSharp-Collections.ObjectModel-Namespace
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Destructors in C#
Extension Method in C#
HashSet in C# with Examples
Top 50 C# Interview Questions & Answers
C# | How to insert an element in an Array?
Partial Classes in C#
C# | Inheritance
C# | List Class
Difference between Hashtable and Dictionary in C#
Lambda Expressions in C#