NameObjectCollectionBase::BaseSet Method (Int32, Object^)
.NET Framework (current version)
Sets the value of the entry at the specified index of the NameObjectCollectionBase instance.
Assembly: System (in System.dll)
Parameters
- index
-
Type:
System::Int32
The zero-based index of the entry to set.
- value
-
Type:
System::Object^
The Object that represents the new value of the entry to set. The value can be null.
| Exception | Condition |
|---|---|
| NotSupportedException | The collection is read-only. |
| ArgumentOutOfRangeException | index is outside the valid range of indexes for the collection. |
This method is an O(1) operation.
The following code example uses BaseSet to set the value of a specific element.
#using <System.dll> using namespace System; using namespace System::Collections; using namespace System::Collections::Specialized; public ref class MyCollection : public NameObjectCollectionBase { // Gets or sets the value at the specified index. public: property Object^ default[ int ] { Object^ get(int index) { return( this->BaseGet( index ) ); } void set( int index, Object^ value ) { this->BaseSet( index, value ); } } // Gets or sets the value associated with the specified key. property Object^ default[ String^ ] { Object^ get(String^ key) { return( this->BaseGet( key ) ); } void set( String^ key, Object^ value ) { this->BaseSet( key, value ); } } // Gets a String array that contains all the keys in the collection. property array<String^>^ AllKeys { array<String^>^ get() { return( this->BaseGetAllKeys() ); } } // Adds elements from an IDictionary into the new collection. MyCollection( IDictionary^ d ) { for each ( DictionaryEntry^ de in d ) { this->BaseAdd( (String^) de->Key, de->Value ); } } }; public ref class SamplesNameObjectCollectionBase { public: static void Main() { // Creates and initializes a new MyCollection instance. IDictionary^ d = gcnew ListDictionary(); d->Add( "red", "apple" ); d->Add( "yellow", "banana" ); d->Add( "green", "pear" ); MyCollection^ myCol = gcnew MyCollection( d ); Console::WriteLine( "Initial state of the collection:" ); PrintKeysAndValues2( myCol ); Console::WriteLine(); // Sets the value at index 1. myCol[1] = "sunflower"; Console::WriteLine( "After setting the value at index 1:" ); PrintKeysAndValues2( myCol ); Console::WriteLine(); // Sets the value associated with the key "red". myCol["red"] = "tulip"; Console::WriteLine( "After setting the value associated with the key \"red\":" ); PrintKeysAndValues2( myCol ); } static void PrintKeysAndValues2( MyCollection^ myCol ) { for each ( String^ s in myCol->AllKeys ) { Console::WriteLine( "{0}, {1}", s, myCol[s] ); } } }; int main() { SamplesNameObjectCollectionBase::Main(); } /* This code produces the following output. Initial state of the collection: red, apple yellow, banana green, pear After setting the value at index 1: red, apple yellow, sunflower green, pear After setting the value associated with the key "red": red, tulip yellow, sunflower green, pear */
Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Available since 10
.NET Framework
Available since 1.1
Show: