StringDictionary::Item Property (String^)
Gets or sets the value associated with the specified key.
Assembly: System (in System.dll)
public: property String^ default[ String^ key ] { virtual String^ get(String^ key); virtual void set(String^ key, String^ value); }
Parameters
- key
-
Type:
System::String^
The key whose value to get or set.
Property Value
Type: System::String^The value associated with the specified key. If the specified key is not found, Get returns null, and Set creates a new entry with the specified key.
| Exception | Condition |
|---|---|
| ArgumentNullException | key is null. |
The key is handled in a case-insensitive manner; it is translated to lowercase before it is used.
A key cannot be null, but a value can. To distinguish between null that is returned because the specified key is not found and null that is returned because the value of the specified key is null, use the ContainsKey method to determine if the key exists in the list.
The C# language uses the 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.
The following code example enumerates the elements of a StringDictionary.
#using <System.dll> using namespace System; using namespace System::Collections; using namespace System::Collections::Specialized; void PrintKeysAndValues1( StringDictionary^ myCol ); void PrintKeysAndValues2( StringDictionary^ myCol ); void PrintKeysAndValues3( StringDictionary^ myCol ); int main() { // Creates and initializes a new StringDictionary. StringDictionary^ myCol = gcnew StringDictionary; myCol->Add( "red", "rojo" ); myCol->Add( "green", "verde" ); myCol->Add( "blue", "azul" ); // Display the contents of the collection using for each. This is the preferred method. Console::WriteLine( "Displays the elements using for each:" ); PrintKeysAndValues1( myCol ); // Display the contents of the collection using the enumerator. Console::WriteLine( "Displays the elements using the IEnumerator:" ); PrintKeysAndValues2( myCol ); // Display the contents of the collection using the Keys, Values, Count, and Item properties. Console::WriteLine( "Displays the elements using the Keys, Values, Count, and Item properties:" ); PrintKeysAndValues3( myCol ); } // Uses the for each statement which hides the complexity of the enumerator. // NOTE: The for each statement is the preferred way of enumerating the contents of a collection. void PrintKeysAndValues1( StringDictionary^ myCol ) { Console::WriteLine( " KEY VALUE" ); for each ( DictionaryEntry^ de in myCol ) Console::WriteLine( " {0,-25} {1}", de->Key, de->Value ); Console::WriteLine(); } // Uses the enumerator. void PrintKeysAndValues2( StringDictionary^ myCol ) { IEnumerator^ myEnumerator = myCol->GetEnumerator(); DictionaryEntry^ de; Console::WriteLine( " KEY VALUE" ); while ( myEnumerator->MoveNext() ) { de = (DictionaryEntry^)(myEnumerator->Current); Console::WriteLine( " {0,-25} {1}", de->Key, de->Value ); } Console::WriteLine(); } // Uses the Keys, Values, Count, and Item properties. void PrintKeysAndValues3( StringDictionary^ myCol ) { array<String^>^myKeys = gcnew array<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 for each: KEY VALUE red rojo blue azul green verde Displays the elements using the IEnumerator: KEY VALUE red rojo blue azul green verde Displays the elements using the Keys, Values, Count, and Item properties: INDEX KEY VALUE 0 red rojo 1 blue azul 2 green verde */
Available since 10
.NET Framework
Available since 1.1