Gets or sets the value associated with the specified key.
[C#] In C#, this property is the indexer for the ListDictionary class.
[Visual Basic] Public Overridable Default Property Item( _ ByVal key As Object _ ) As Object Implements IDictionary.Item [C#] public virtual object this[ object key ] {get; set;} [C++] public: __property virtual Object* get_Item( Object* key ); public: __property virtual void set_Item( Object* key, Object* ); [JScript] returnValue = ListDictionaryObject.Item(key); ListDictionaryObject.Item(key) = returnValue; -or- returnValue = ListDictionaryObject(key); ListDictionaryObject(key) = returnValue;
[JScript] In JScript, you can use the default indexed properties defined by a type, but you cannot explicitly define your own. However, specifying the expando attribute on a class automatically provides a default indexed property whose type is Object and whose index type is String.
The value associated with the specified key. If the specified key is not found, attempting to get it returns a null reference (Nothing in Visual Basic), and attempting to set it creates a new entry using the specified key.
| Exception Type | Condition |
|---|---|
| ArgumentNullException | key is a null reference (Nothing in Visual Basic). |
This property provides the ability to access a specific element in the collection by using the following syntax: myCollection[key].
When setting this property, if the specified key already exists in the ListDictionary, the value is replaced; otherwise, a new element is created. In contrast, the Add method does not modify existing elements.
A key cannot be a null reference (Nothing in Visual Basic), but a value can. To distinguish between a null reference (Nothing) that is returned because the specified key is not found and a null reference (Nothing) that is returned because the value of the specified key is a null reference (Nothing), use the Contains method to determine if the key exists in the list.
This is an O(n) operation, where n is Count.
[Visual Basic] ' The following code example enumerates the elements of a ListDictionary. Imports System Imports System.Collections Imports System.Collections.Specialized Public Class SamplesListDictionary Public Shared Sub Main() ' Creates and initializes a new ListDictionary. Dim myCol As New ListDictionary() myCol.Add("Braeburn Apples", "1.49") myCol.Add("Fuji Apples", "1.29") myCol.Add("Gala Apples", "1.49") myCol.Add("Golden Delicious Apples", "1.29") myCol.Add("Granny Smith Apples", "0.89") myCol.Add("Red Delicious Apples", "0.99") ' Displays the values in the ListDictionary in three different ways. Console.WriteLine("Displays the elements using the IEnumerator:") PrintKeysAndValues(myCol) Console.WriteLine("Displays the elements using the IDictionaryEnumerator:") PrintKeysAndValues2(myCol) Console.WriteLine("Displays the elements using the Keys, Values, Count, and indexer properties:") PrintKeysAndValues3(myCol) End Sub 'Main Public Shared Sub PrintKeysAndValues(myCol As IEnumerable) Dim myEnumerator As IEnumerator = myCol.GetEnumerator() Console.WriteLine(" KEY VALUE") Dim de As DictionaryEntry For Each de In myCol Console.WriteLine(" {0,-25} {1}", de.Key, de.Value) Next de Console.WriteLine() End Sub 'PrintKeysAndValues Public Shared Sub PrintKeysAndValues2(myCol As ListDictionary) Dim myEnumerator As IDictionaryEnumerator = myCol.GetEnumerator() Console.WriteLine(" KEY VALUE") While myEnumerator.MoveNext() Console.WriteLine(" {0,-25} {1}", myEnumerator.Key, myEnumerator.Value) End While Console.WriteLine() End Sub 'PrintKeysAndValues2 Public Shared Sub PrintKeysAndValues3(myCol As ListDictionary) Dim myKeys(myCol.Count) As [String] myCol.Keys.CopyTo(myKeys, 0) Console.WriteLine(" INDEX KEY VALUE") Dim i As Integer For i = 0 To myCol.Count - 1 Console.WriteLine(" {0,-5} {1,-25} {2}", i, myKeys(i), myCol(myKeys(i))) Next i Console.WriteLine() End Sub 'PrintKeysAndValues3 End Class 'SamplesListDictionary 'This code produces the following output. ' 'Displays the elements using the IEnumerator: ' KEY VALUE ' Braeburn Apples 1.49 ' Fuji Apples 1.29 ' Gala Apples 1.49 ' Golden Delicious Apples 1.29 ' Granny Smith Apples 0.89 ' Red Delicious Apples 0.99 ' 'Displays the elements using the IDictionaryEnumerator: ' KEY VALUE ' Braeburn Apples 1.49 ' Fuji Apples 1.29 ' Gala Apples 1.49 ' Golden Delicious Apples 1.29 ' Granny Smith Apples 0.89 ' Red Delicious Apples 0.99 ' 'Displays the elements using the Keys, Values, Count, and indexer properties: ' INDEX KEY VALUE ' 0 Braeburn Apples 1.49 ' 1 Fuji Apples 1.29 ' 2 Gala Apples 1.49 ' 3 Golden Delicious Apples 1.29 ' 4 Granny Smith Apples 0.89 ' 5 Red Delicious Apples 0.99 [C#] // The following code example enumerates the elements of a ListDictionary. using System; using System.Collections; using System.Collections.Specialized; public class SamplesListDictionary { public static void Main() { // Creates and initializes a new ListDictionary. ListDictionary myCol = new ListDictionary(); myCol.Add( "Braeburn Apples", "1.49" ); myCol.Add( "Fuji Apples", "1.29" ); myCol.Add( "Gala Apples", "1.49" ); myCol.Add( "Golden Delicious Apples", "1.29" ); myCol.Add( "Granny Smith Apples", "0.89" ); myCol.Add( "Red Delicious Apples", "0.99" ); // Displays the values in the ListDictionary in three different ways. Console.WriteLine( "Displays the elements using the IEnumerator:" ); PrintKeysAndValues( myCol ); Console.WriteLine( "Displays the elements using the IDictionaryEnumerator:" ); PrintKeysAndValues2( myCol ); Console.WriteLine( "Displays the elements using the Keys, Values, Count, and indexer properties:" ); PrintKeysAndValues3( myCol ); } public static void PrintKeysAndValues( IEnumerable myCol ) { IEnumerator myEnumerator = myCol.GetEnumerator(); Console.WriteLine( " KEY VALUE" ); foreach ( DictionaryEntry de in myCol ) Console.WriteLine( " {0,-25} {1}", de.Key, de.Value ); Console.WriteLine(); } public static void PrintKeysAndValues2( ListDictionary myCol ) { IDictionaryEnumerator myEnumerator = myCol.GetEnumerator(); Console.WriteLine( " KEY VALUE" ); while ( myEnumerator.MoveNext() ) Console.WriteLine( " {0,-25} {1}", myEnumerator.Key, myEnumerator.Value ); Console.WriteLine(); } public static void PrintKeysAndValues3( ListDictionary myCol ) { String[] myKeys = new String[myCol.Count]; myCol.Keys.CopyTo( myKeys, 0 ); Console.WriteLine( " INDEX KEY VALUE" ); for ( int i = 0; i < myCol.Count; i++ ) Console.WriteLine( " {0,-5} {1,-25} {2}", i, myKeys[i], myCol[myKeys[i]] ); Console.WriteLine(); } } /* This code produces the following output. Displays the elements using the IEnumerator: KEY VALUE Braeburn Apples 1.49 Fuji Apples 1.29 Gala Apples 1.49 Golden Delicious Apples 1.29 Granny Smith Apples 0.89 Red Delicious Apples 0.99 Displays the elements using the IDictionaryEnumerator: KEY VALUE Braeburn Apples 1.49 Fuji Apples 1.29 Gala Apples 1.49 Golden Delicious Apples 1.29 Granny Smith Apples 0.89 Red Delicious Apples 0.99 Displays the elements using the Keys, Values, Count, and indexer properties: INDEX KEY VALUE 0 Braeburn Apples 1.49 1 Fuji Apples 1.29 2 Gala Apples 1.49 3 Golden Delicious Apples 1.29 4 Granny Smith Apples 0.89 5 Red Delicious Apples 0.99 */ [C++] // The following code example enumerates the elements of a ListDictionary. #using <mscorlib.dll> #using <System.dll> using namespace System; using namespace System::Collections; using namespace System::Collections::Specialized; void PrintKeysAndValues(IEnumerable* myCol) { Console::WriteLine(S" KEY VALUE"); IEnumerator* myEnum = myCol->GetEnumerator(); while (myEnum->MoveNext()) { DictionaryEntry* de = __try_cast<DictionaryEntry*>(myEnum->Current); Console::WriteLine(S" {0, -25} {1}", de->Key, de->Value); } Console::WriteLine(); } void PrintKeysAndValues2(ListDictionary* myCol) { IDictionaryEnumerator* myEnumerator = myCol->GetEnumerator(); Console::WriteLine(S" KEY VALUE"); while (myEnumerator->MoveNext()) Console::WriteLine(S" {0, -25} {1}", myEnumerator->Key, myEnumerator->Value); Console::WriteLine(); } void PrintKeysAndValues3(ListDictionary* myCol) { String* myKeys[] = new String*[myCol->Count]; myCol->Keys->CopyTo(myKeys, 0); Console::WriteLine(S" INDEX KEY VALUE"); for (int i = 0; i < myCol->Count; i++) Console::WriteLine(S" {0, -5} {1, -25} {2}", __box(i), myKeys->Item[i], myCol->Item[myKeys->Item[i]]); Console::WriteLine(); } int main() { // Creates and initializes a new ListDictionary. ListDictionary* myCol = new ListDictionary(); myCol->Add(S"Braeburn Apples", S"1.49"); myCol->Add(S"Fuji Apples", S"1.29"); myCol->Add(S"Gala Apples", S"1.49"); myCol->Add(S"Golden Delicious Apples", S"1.29"); myCol->Add(S"Granny Smith Apples", S"0.89"); myCol->Add(S"Red Delicious Apples", S"0.99"); // Displays the values in the ListDictionary in three different ways. Console::WriteLine(S"Displays the elements using the IEnumerator*:"); PrintKeysAndValues(myCol); Console::WriteLine(S"Displays the elements using the IDictionaryEnumerator*:"); PrintKeysAndValues2(myCol); Console::WriteLine(S"Displays the elements using the Keys, Values, Count, and indexer properties:"); PrintKeysAndValues3(myCol); } /* This code produces the following output. Displays the elements using the IEnumerator*: KEY VALUE Braeburn Apples 1.49 Fuji Apples 1.29 Gala Apples 1.49 Golden Delicious Apples 1.29 Granny Smith Apples 0.89 Red Delicious Apples 0.99 Displays the elements using the IDictionaryEnumerator*: KEY VALUE Braeburn Apples 1.49 Fuji Apples 1.29 Gala Apples 1.49 Golden Delicious Apples 1.29 Granny Smith Apples 0.89 Red Delicious Apples 0.99 Displays the elements using the Keys, Values, Count, and indexer properties: INDEX KEY VALUE 0 Braeburn Apples 1.49 1 Fuji Apples 1.29 2 Gala Apples 1.49 3 Golden Delicious Apples 1.29 4 Granny Smith Apples 0.89 5 Red Delicious Apples 0.99 */
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
ListDictionary Class | ListDictionary Members | System.Collections.Specialized Namespace | Add |