Collection<T>::Item Property
Gets or sets the element at the specified index.
Assembly: mscorlib (in mscorlib.dll)
public: virtual property T Item[int index] { T get (int index) sealed; void set (int index, T value) sealed; }
Parameters
- index
- Type: System::Int32
The zero-based index of the element to get or set.
Implements
IList<T>::Item[Int32]| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | index is less than zero. -or- index is equal to or greater than Count. |
Collection<T> accepts nullptr 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 InheritorsDerived 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 namespace System; using namespace System::Collections::Generic; using namespace System::Collections::ObjectModel; public ref class Demo { public: static void Main() { Collection<String^>^ dinosaurs = gcnew Collection<String^>(); dinosaurs->Add("Psitticosaurus"); dinosaurs->Add("Caudipteryx"); dinosaurs->Add("Compsognathus"); dinosaurs->Add("Muttaburrasaurus"); Console::WriteLine("{0} dinosaurs:", dinosaurs->Count); Display(dinosaurs); Console::WriteLine("\nIndexOf(\"Muttaburrasaurus\"): {0}", dinosaurs->IndexOf("Muttaburrasaurus")); Console::WriteLine("\nContains(\"Caudipteryx\"): {0}", dinosaurs->Contains("Caudipteryx")); Console::WriteLine("\nInsert(2, \"Nanotyrannus\")"); dinosaurs->Insert(2, "Nanotyrannus"); Display(dinosaurs); Console::WriteLine("\ndinosaurs[2]: {0}", dinosaurs[2]); Console::WriteLine("\ndinosaurs[2] = \"Microraptor\""); dinosaurs[2] = "Microraptor"; Display(dinosaurs); Console::WriteLine("\nRemove(\"Microraptor\")"); dinosaurs->Remove("Microraptor"); Display(dinosaurs); Console::WriteLine("\nRemoveAt(0)"); dinosaurs->RemoveAt(0); Display(dinosaurs); Console::WriteLine("\ndinosaurs.Clear()"); dinosaurs->Clear(); Console::WriteLine("Count: {0}", dinosaurs->Count); } private: static void Display(Collection<String^>^ cs) { Console::WriteLine(); for each( String^ item in cs ) { Console::WriteLine(item); } } }; int main() { Demo::Main(); } /* 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 */
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.