Export (0) Print
Expand All

NameObjectCollectionBase.BaseSet Method (Int32, Object)

Sets the value of the entry at the specified index of the NameObjectCollectionBase instance.

Namespace: System.Collections.Specialized
Assembly: System (in system.dll)

protected:
void BaseSet (
	int index, 
	Object^ value
)
protected void BaseSet (
	int index, 
	Object value
)
protected function BaseSet (
	index : int, 
	value : Object
)
Not applicable.

Parameters

index

The zero-based index of the entry to set.

value

The Object that represents the new value of the entry to set. The value can be a null reference (Nothing in Visual Basic).

Exception typeCondition

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

*/

import System.* ;
import System.Collections.* ;
import System.Collections.Specialized.* ;

public class MyCollection extends NameObjectCollectionBase
{
    // Gets or sets the value at the specified index.
    /** @property 
     */
    public Object get_Item(int index)
    {
        return this.BaseGet(index) ;
    } //get_Item

    /** @property 
     */
    public void set_Item(int index,Object value )
    {
        this.BaseSet(index, value);
    } //set_Item

    // Gets or sets the value associated with the specified key.
    /** @property 
     */
    public Object get_Item(String key)
    {
        return this.BaseGet(key) ;
    } //get_Item

    /** @property 
     */
    public void set_Item(String key,Object value )
    {
        this.BaseSet(key, value);
    } //set_Item
   
    // Gets a String array that contains all the keys in the collection.
    /** @property 
     */
    public String[] get_AllKeys()
    {
        return this.BaseGetAllKeys() ;
    } //get_AllKeys
   
    // Adds elements from an IDictionary into the new collection.
    public MyCollection(IDictionary d)
    {
        IDictionaryEnumerator objEnum = d.GetEnumerator();

        while (objEnum.MoveNext()) {
            DictionaryEntry de = (DictionaryEntry)objEnum.get_Current();
            this.BaseAdd(((String)(de.get_Key())), de.get_Value());
        }
    } //MyCollection
} //MyCollection

 
public class SamplesNameObjectCollectionBase
{
    public static void main(String[] args)
    {
        // Creates and initializes a new MyCollection instance.
        IDictionary d = new ListDictionary();

        d.Add("red", "apple");
        d.Add("yellow", "banana");
        d.Add("green", "pear");

        MyCollection myCol = new MyCollection(d);

        Console.WriteLine("Initial state of the collection:");
        PrintKeysAndValues2(myCol);
        Console.WriteLine();

        // Sets the value at index 1.
        myCol.set_Item(1, "sunflower");
        Console.WriteLine("After setting the value at index 1:");
        PrintKeysAndValues2(myCol);
        Console.WriteLine();

        // Sets the value associated with the key "red".
        myCol.set_Item("red", "tulip");
        Console.WriteLine("After setting the value associated with the key" 
            + " \"red\":");
        PrintKeysAndValues2(myCol);
    } //main

    public static void PrintKeysAndValues2(MyCollection myCol)
    {
        String str = new String();

        for (int iCtr = 0; iCtr < myCol.get_Count(); iCtr++) {
            str = myCol.get_AllKeys()[iCtr];
            Console.WriteLine("{0} , {1}", str, (myCol.get_Item(str)).ToString());
        }
    } //PrintKeysAndValues2
} //SamplesNameObjectCollectionBase 

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

*/

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0

Community Additions

ADD
Show:
© 2014 Microsoft