Export (0) Print
Expand All

Collection<T>.Item Property

Gets or sets the element at the specified index.

Namespace:  System.Collections.ObjectModel
Assembly:  mscorlib (in mscorlib.dll)

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

IList<T>.Item[Int32]

ExceptionCondition
ArgumentOutOfRangeException

index is less than zero.

-or-

index is equal to or greater than Count.

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

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.

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

Notes to Inheritors

Derived classes can override SetItem to change the behavior of setting this property.

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 Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      Collection<string> dinosaurs = new Collection<string>();

      dinosaurs.Add("Psitticosaurus");
      dinosaurs.Add("Caudipteryx");
      dinosaurs.Add("Compsognathus");
      dinosaurs.Add("Muttaburrasaurus");

      outputBlock.Text += String.Format("{0} dinosaurs:", dinosaurs.Count) + "\n";
      Display(outputBlock, dinosaurs);

      outputBlock.Text += String.Format("\nIndexOf(\"Muttaburrasaurus\"): {0}",
          dinosaurs.IndexOf("Muttaburrasaurus")) + "\n";

      outputBlock.Text += String.Format("\nContains(\"Caudipteryx\"): {0}",
          dinosaurs.Contains("Caudipteryx")) + "\n";

      outputBlock.Text += String.Format("\nInsert(2, \"Nanotyrannus\")") + "\n";
      dinosaurs.Insert(2, "Nanotyrannus");
      Display(outputBlock, dinosaurs);

      outputBlock.Text += String.Format("\ndinosaurs[2]: {0}", dinosaurs[2]) + "\n";

      outputBlock.Text += "\ndinosaurs[2] = \"Microraptor\"" + "\n";
      dinosaurs[2] = "Microraptor";
      Display(outputBlock, dinosaurs);

      outputBlock.Text += "\nRemove(\"Microraptor\")" + "\n";
      dinosaurs.Remove("Microraptor");
      Display(outputBlock, dinosaurs);

      outputBlock.Text += "\nRemoveAt(0)" + "\n";
      dinosaurs.RemoveAt(0);
      Display(outputBlock, dinosaurs);

      outputBlock.Text += "\ndinosaurs.Clear()" + "\n";
      dinosaurs.Clear();
      outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";
   }

   private static void Display(System.Windows.Controls.TextBlock outputBlock, Collection<string> cs)
   {
      outputBlock.Text += "\n";
      foreach (string item in cs)
      {
         outputBlock.Text += item + "\n";
      }
   }
}

/* 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
 */


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

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2014 Microsoft