List<T>.Item[Int32] Property

Definition

Gets or sets the element at the specified index.

public T this[int index] { get; set; }

Parameters

index
Int32

The zero-based index of the element to get or set.

Property Value

T

The element at the specified index.

Implements

Exceptions

index is less than 0.

-or-

index is equal to or greater than Count.

Examples

The example in this section demonstrates the Item[] property (the indexer in C#) and various other properties and methods of the List<T> generic class. After the list has been created and populated using the Add method, an element is retrieved and displayed using the Item[] property. (For an example that uses the Item[] property to set the value of a list element, see AsReadOnly.)

Note

Visual Basic, C#, and C++ all have syntax for accessing the Item[] property without using its name. Instead, the variable containing the List<T> is used as if it were an array.

The C# language uses the this keyword to define the indexers instead of implementing the Item[] property. Visual Basic implements Item[] as a default property, which provides the same indexing functionality.

List<string> dinosaurs = new List<string>();

Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);

dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus");
// Shows accessing the list using the Item property.
Console.WriteLine("\ndinosaurs[3]: {0}", dinosaurs[3]);

Remarks

List<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 following syntax: myCollection[index].

Retrieving the value of this property is an O(1) operation; setting the property is also an O(1) operation.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

See also