Mega Code Archive

 
Categories / C# / Collections Data Structure
 

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

using System; using System.Collections; using System.Collections.Specialized; public class MyCollection : NameObjectCollectionBase  {    private DictionaryEntry _de = new DictionaryEntry();    public DictionaryEntry this[ int index ]  {       get  {          _de.Key = this.BaseGetKey( index );          _de.Value = this.BaseGet( index );          return( _de );       }    }    public Object this[ String key ]  {       get  {          return( this.BaseGet( key ) );       }       set  {          this.BaseSet( key, value );       }    }    public MyCollection( IDictionary d )  {       foreach ( DictionaryEntry de in d )  {          this.BaseAdd( (String) de.Key, de.Value );       }    } } public class SamplesNameObjectCollectionBase  {    public static void Main()  {       IDictionary d = new ListDictionary();       d.Add( "A", "a" );       d.Add( "B", "b" );       d.Add( "C", "c" );       MyCollection myCol = new MyCollection( d );       Console.WriteLine( "Initial state of the collection (Count = {0}):", myCol.Count );       PrintKeysAndValues( myCol );       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"] );    }    public 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 );       }    } }