Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

NameObjectCollectionBase::BaseGetAllKeys Method ()

 

Returns a String array that contains all the keys in the NameObjectCollectionBase instance.

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

protected:
array<String^>^ BaseGetAllKeys()

Return Value

Type: array<System::String^>^

A String array that contains all the keys in the NameObjectCollectionBase instance.

This method is an O(n) operation, where n is Count.

The following code example uses BaseGetAllKeys and BaseGetAllValues to get an array of the keys or an array of the 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 );
      }
   }

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

   // Gets a String array that contains all the keys in the collection.
   property array<String^>^ AllKeys {
      array<String^>^ get()  {
         return( this->BaseGetAllKeys() );
      }
   }

   // Gets an Object array that contains all the values in the collection.
   property Array^ AllValues  {
      Array^ get()  {
         return( this->BaseGetAllValues() );
      }
   }

   // Gets a String array that contains all the values in the collection.
   property array<String^>^ AllStringValues  {
      array<String^>^ get()  {
         return( (array<String^>^) this->BaseGetAllValues( System::String::typeid ) );
      }
   }
};

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

      // Displays the list of keys.
      Console::WriteLine( "The list of keys:" );
      for each ( String^ s in myCol->AllKeys )  {
         Console::WriteLine( "   {0}", s );
      }

      // Displays the list of values of type Object.
      Console::WriteLine( "The list of values (Object):" );
      for each ( Object^ o in myCol->AllValues )  {
         Console::WriteLine( "   {0}", o->ToString() );
      }

      // Displays the list of values of type String.
      Console::WriteLine( "The list of values (String):" );
      for each ( 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 );
      }
   }
};

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 list of keys:
   red
   yellow
   green
The list of values (Object):
   apple
   banana
   pear
The list of values (String):
   apple
   banana
   pear

*/

Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Return to top
Show:
© 2017 Microsoft