List<T>.Item Property
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Gets or sets the element at the specified index.
Namespace: System.Collections.Generic
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Property Item ( _
index As Integer _
) As T
public T this[
int index
] { get; set; }
Parameters
- index
Type: System.Int32
The zero-based index of the element to get or set.
Property Value
Type: T
The element at the specified index.
Implements
Exceptions
Exception | Condition |
---|---|
ArgumentOutOfRangeException | index is less than 0. -or- index is equal to or greater than Count. |
Remarks
List<T> accepts nulla null reference (Nothing in Visual Basic) 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.
Examples
The following code example 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.
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.
For a code example that uses the Item property to set the value of a list element, see AsReadOnly.
Imports System.Collections.Generic
Public Class Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
Dim dinosaurs As New List(Of String)
outputBlock.Text &= String.Format(vbLf & "Capacity: {0}", dinosaurs.Capacity) & vbCrLf
dinosaurs.Add("Tyrannosaurus")
dinosaurs.Add("Amargasaurus")
dinosaurs.Add("Mamenchisaurus")
dinosaurs.Add("Deinonychus")
dinosaurs.Add("Compsognathus")
outputBlock.Text &= vbCrLf
For Each dinosaur As String In dinosaurs
outputBlock.Text &= dinosaur & vbCrLf
Next
outputBlock.Text &= String.Format(vbLf & "Capacity: {0}", dinosaurs.Capacity) & vbCrLf
outputBlock.Text &= String.Format("Count: {0}", dinosaurs.Count) & vbCrLf
outputBlock.Text &= vbLf & String.Format("Contains(""Deinonychus"": {0}", _
dinosaurs.Contains("Deinonychus")) & vbCrLf
outputBlock.Text &= String.Format(vbLf & "Insert(2, ""Compsognathus"")") & vbCrLf
dinosaurs.Insert(2, "Compsognathus")
outputBlock.Text &= vbCrLf
For Each dinosaur As String In dinosaurs
outputBlock.Text &= dinosaur & vbCrLf
Next
outputBlock.Text &= String.Format(vbLf & "dinosaurs(3): {0}", dinosaurs(3)) & vbCrLf
outputBlock.Text &= vbLf & "Remove(""Compsognathus"")" & vbCrLf
dinosaurs.Remove("Compsognathus")
outputBlock.Text &= vbCrLf
For Each dinosaur As String In dinosaurs
outputBlock.Text &= dinosaur & vbCrLf
Next
dinosaurs.TrimExcess()
outputBlock.Text &= vbLf & "TrimExcess()" & vbCrLf
outputBlock.Text &= String.Format("Capacity: {0}", dinosaurs.Capacity) & vbCrLf
outputBlock.Text &= String.Format("Count: {0}", dinosaurs.Count) & vbCrLf
dinosaurs.Clear()
outputBlock.Text &= vbLf & "Clear()" & vbCrLf
outputBlock.Text &= String.Format("Capacity: {0}", dinosaurs.Capacity) & vbCrLf
outputBlock.Text &= String.Format("Count: {0}", dinosaurs.Count) & vbCrLf
End Sub
End Class
' This code example produces the following output:
'
'Capacity: 0
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'Capacity: 8
'Count: 5
'
'Contains("Deinonychus"): True
'
'Insert(2, "Compsognathus")
'
'Tyrannosaurus
'Amargasaurus
'Compsognathus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'dinosaurs(3): Mamenchisaurus
'
'Remove("Compsognathus")
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'TrimExcess()
'Capacity: 5
'Count: 5
'
'Clear()
'Capacity: 5
'Count: 0
using System;
using System.Collections.Generic;
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
List<string> dinosaurs = new List<string>();
outputBlock.Text += String.Format("\nCapacity: {0}", dinosaurs.Capacity) + "\n";
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus");
outputBlock.Text += "\n";
foreach (string dinosaur in dinosaurs)
{
outputBlock.Text += dinosaur + "\n";
}
outputBlock.Text += String.Format("\nCapacity: {0}", dinosaurs.Capacity) + "\n";
outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";
outputBlock.Text += String.Format("\nContains(\"Deinonychus\"): {0}",
dinosaurs.Contains("Deinonychus")) + "\n";
outputBlock.Text += String.Format("\nInsert(2, \"Compsognathus\")") + "\n";
dinosaurs.Insert(2, "Compsognathus");
outputBlock.Text += "\n";
foreach (string dinosaur in dinosaurs)
{
outputBlock.Text += dinosaur + "\n";
}
outputBlock.Text += String.Format("\ndinosaurs[3]: {0}", dinosaurs[3]) + "\n";
outputBlock.Text += "\nRemove(\"Compsognathus\")" + "\n";
dinosaurs.Remove("Compsognathus");
outputBlock.Text += "\n";
foreach (string dinosaur in dinosaurs)
{
outputBlock.Text += dinosaur + "\n";
}
dinosaurs.TrimExcess();
outputBlock.Text += "\nTrimExcess()" + "\n";
outputBlock.Text += String.Format("Capacity: {0}", dinosaurs.Capacity) + "\n";
outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";
dinosaurs.Clear();
outputBlock.Text += "\nClear()" + "\n";
outputBlock.Text += String.Format("Capacity: {0}", dinosaurs.Capacity) + "\n";
outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";
}
}
/* This code example produces the following output:
Capacity: 0
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
Capacity: 8
Count: 5
Contains("Deinonychus"): True
Insert(2, "Compsognathus")
Tyrannosaurus
Amargasaurus
Compsognathus
Mamenchisaurus
Deinonychus
Compsognathus
dinosaurs[3]: Mamenchisaurus
Remove("Compsognathus")
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
TrimExcess()
Capacity: 5
Count: 5
Clear()
Capacity: 5
Count: 0
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.