Mega Code Archive

 
Categories / C# / Collections Data Structure
 

Returns a String array that contains all the keys in 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 MyCollection( IDictionary d )  {       foreach ( DictionaryEntry de in d )  {          this.BaseAdd( (String) de.Key, de.Value );       }    }    public String[] AllKeys  {       get  {          return( this.BaseGetAllKeys() );       }    }    public Array AllValues  {       get  {          return( this.BaseGetAllValues() );       }    }    public String[] AllStringValues  {       get  {          return( (String[]) this.BaseGetAllValues( typeof(System.String) ) );       }    } } 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 );       foreach ( String s in myCol.AllKeys )  {          Console.WriteLine( "   {0}", s );       }       foreach ( Object o in myCol.AllValues )  {          Console.WriteLine( "   {0}", o.ToString() );       }       foreach ( String s in myCol.AllValues )  {          Console.WriteLine( "   {0}", s );       }    }    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 );       }    } }