Export (0) Print
Expand All

NameObjectCollectionBase.BaseGet Method (Int32)

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

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

protected:
Object^ BaseGet (
	int index
)
protected Object BaseGet (
	int index
)
protected function BaseGet (
	index : int
) : Object
Not applicable.

Parameters

index

The zero-based index of the value to get.

Return Value

An Object that represents the value of the entry at the specified index.

Exception typeCondition

ArgumentOutOfRangeException

index is outside the valid range of indexes for the collection.

This method is an O(1) operation.

The following code example uses BaseGetKey and BaseGet to get specific keys and values.

#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;

public ref class MyCollection : public NameObjectCollectionBase  {

private:
   DictionaryEntry^ _de;

   // Gets a key-and-value pair (DictionaryEntry) using an index.
public:
   property DictionaryEntry^ default[ int ]  {
      DictionaryEntry^ get( int index )  {
         _de->Key = this->BaseGetKey( index );
         _de->Value = this->BaseGet( index );
         return( _de );
      }
   }

   // 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 );
      }
   }

   // Adds elements from an IDictionary into the new collection.
   MyCollection( IDictionary^ d )  {

      _de = gcnew DictionaryEntry();

      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 (Count = {0}):", myCol->Count );
      PrintKeysAndValues( myCol );

      // Gets specific keys and values.
      Console::WriteLine( "The key at index 0 is {0}.", myCol[0]->Key );
      Console::WriteLine( "The value at index 0 is {0}.", myCol[0]->Value );
      Console::WriteLine( "The value associated with the key \"green\" is {0}.", myCol["green"] );

   }

   static void PrintKeysAndValues( MyCollection^ myCol )  {
      for ( int i = 0; i < myCol->Count; i++ )  {
         Console::WriteLine( "[{0}] : {1}, {2}", i, myCol[i]->Key, myCol[i]->Value );
      }
   }
};

int main()
{
    SamplesNameObjectCollectionBase::Main();
}

/*
This code produces the following output.

Initial state of the collection (Count = 3):
[0] : red, apple
[1] : yellow, banana
[2] : green, pear
The key at index 0 is red.
The value at index 0 is apple.
The value associated with the key "green" is pear.

*/

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

public class MyCollection extends NameObjectCollectionBase
{   
    private DictionaryEntry _de =  new DictionaryEntry();

    // Gets a key-and-value pair (DictionaryEntry) using an index.
    /** @property 
     */
    public DictionaryEntry get_Item(int index)
    {
        _de.set_Key(this.BaseGetKey(index));
        _de.set_Value(this.BaseGet(index));
        return _de ;
    } //get_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

    //default constructor
    public MyCollection() 
    { 
    } //MyCollection

    // 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 (Count = {0}):",
            System.Convert.ToString(myCol.get_Count()));
        PrintKeysAndValues(myCol);

        // Gets specific keys and values.
        Console.WriteLine("The key at index 0 is {0}.",
            myCol.get_Item( 0).get_Key());
        Console.WriteLine("The value at index 0 is {0}.", 
            myCol.get_Item( 0).get_Value());
        Console.WriteLine("The value associated with the key \"green\" is {0}.",
            myCol.get_Item( "green"));
    } //main

    public static void PrintKeysAndValues(MyCollection myCol)
    {
        for (int i=0 ; i < myCol.get_Count(); i++) {
            Console.WriteLine("[{0}] : {1}, {2}", System.Convert.ToString(i),
                myCol.get_Item(i).get_Key(), myCol.get_Item(i).get_Value());
        } 
    } //PrintKeysAndValues
} //SamplesNameObjectCollectionBase

/*
This code produces the following output.

Initial state of the collection (Count = 3):
[0] : red, apple
[1] : yellow, banana
[2] : green, pear
The key at index 0 is red.
The value at index 0 is apple.
The value associated with the key "green" is 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:
© 2015 Microsoft