Export (0) Print
Expand All

HybridDictionary.Keys Property

Gets an ICollection containing the keys in the HybridDictionary.

[Visual Basic]
Public Overridable ReadOnly Property Keys As ICollection  _
   Implements IDictionary.Keys
[C#]
public virtual ICollection Keys {get;}
[C++]
public: __property virtual ICollection* get_Keys();
[JScript]
public function get Keys() : ICollection;

Property Value

An ICollection containing the keys in the HybridDictionary.

Implements

IDictionary.Keys

Remarks

The order of the values in the ICollection is unspecified, but it is the same order as the associated values in the ICollection returned by the Values method.

The returned ICollection is not a static copy; instead, the ICollection refers back to the keys in the original HybridDictionary. Therefore, changes to the HybridDictionary continue to be reflected in the ICollection.

Example

[Visual Basic, C#, C++] The following code example enumerates the elements of a HybridDictionary.

[Visual Basic] 
Imports System
Imports System.Collections
Imports System.Collections.Specialized

Public Class SamplesHybridDictionary   

   Public Shared Sub Main()

      ' Creates and initializes a new HybridDictionary.
      Dim myCol As New HybridDictionary()
      myCol.Add("Braeburn Apples", "1.49")
      myCol.Add("Fuji Apples", "1.29")
      myCol.Add("Gala Apples", "1.49")
      myCol.Add("Golden Delicious Apples", "1.29")
      myCol.Add("Granny Smith Apples", "0.89")
      myCol.Add("Red Delicious Apples", "0.99")
      myCol.Add("Plantain Bananas", "1.49")
      myCol.Add("Yellow Bananas", "0.79")
      myCol.Add("Strawberries", "3.33")
      myCol.Add("Cranberries", "5.98")
      myCol.Add("Navel Oranges", "1.29")
      myCol.Add("Grapes", "1.99")
      myCol.Add("Honeydew Melon", "0.59")
      myCol.Add("Seedless Watermelon", "0.49")
      myCol.Add("Pineapple", "1.49")
      myCol.Add("Nectarine", "1.99")
      myCol.Add("Plums", "1.69")
      myCol.Add("Peaches", "1.99")

      ' Displays the values in the HybridDictionary in three different ways.
      Console.WriteLine("Displays the elements using for each:")
      PrintKeysAndValues(myCol)
      Console.WriteLine("Displays the elements using the IDictionaryEnumerator:")
      PrintKeysAndValues2(myCol)
      Console.WriteLine("Displays the elements using the Keys, Values, Count, and indexer properties:")
      PrintKeysAndValues3(myCol)

   End Sub 'Main

   Public Shared Sub PrintKeysAndValues(myCol As IDictionary)

      Console.WriteLine("   KEY                       VALUE")
      Dim de As DictionaryEntry
      For Each de In  myCol
         Console.WriteLine("   {0,-25} {1}", de.Key, de.Value)
      Next de
      Console.WriteLine()

   End Sub 'PrintKeysAndValues

   Public Shared Sub PrintKeysAndValues2(myCol As IDictionary)
      Dim myEnumerator As IDictionaryEnumerator = myCol.GetEnumerator()

      Console.WriteLine("   KEY                       VALUE")
      While myEnumerator.MoveNext()
         Console.WriteLine("   {0,-25} {1}", myEnumerator.Key, myEnumerator.Value)
      End While
      Console.WriteLine()

   End Sub 'PrintKeysAndValues2

   Public Shared Sub PrintKeysAndValues3(myCol As HybridDictionary)
      Dim myKeys(myCol.Count) As [String]
      myCol.Keys.CopyTo(myKeys, 0)

      Console.WriteLine("   INDEX KEY                       VALUE")
      Dim i As Integer
      For i = 0 To myCol.Count - 1
         Console.WriteLine("   {0,-5} {1,-25} {2}", i, myKeys(i), myCol(myKeys(i)))
      Next i
      Console.WriteLine()

   End Sub 'PrintKeysAndValues3

End Class 'SamplesHybridDictionary 


'This code produces the following output.
'
'Displays the elements using for each:
'   KEY                       VALUE
'   Seedless Watermelon       0.49
'   Nectarine                 1.99
'   Cranberries               5.98
'   Plantain Bananas          1.49
'   Honeydew Melon            0.59
'   Pineapple                 1.49
'   Strawberries              3.33
'   Grapes                    1.99
'   Braeburn Apples           1.49
'   Peaches                   1.99
'   Red Delicious Apples      0.99
'   Golden Delicious Apples   1.29
'   Yellow Bananas            0.79
'   Granny Smith Apples       0.89
'   Gala Apples               1.49
'   Plums                     1.69
'   Navel Oranges             1.29
'   Fuji Apples               1.29
'
'Displays the elements using the IDictionaryEnumerator:
'   KEY                       VALUE
'   Seedless Watermelon       0.49
'   Nectarine                 1.99
'   Cranberries               5.98
'   Plantain Bananas          1.49
'   Honeydew Melon            0.59
'   Pineapple                 1.49
'   Strawberries              3.33
'   Grapes                    1.99
'   Braeburn Apples           1.49
'   Peaches                   1.99
'   Red Delicious Apples      0.99
'   Golden Delicious Apples   1.29
'   Yellow Bananas            0.79
'   Granny Smith Apples       0.89
'   Gala Apples               1.49
'   Plums                     1.69
'   Navel Oranges             1.29
'   Fuji Apples               1.29
'
'Displays the elements using the Keys, Values, Count, and indexer properties:
'   INDEX KEY                       VALUE
'   0     Seedless Watermelon       0.49
'   1     Nectarine                 1.99
'   2     Cranberries               5.98
'   3     Plantain Bananas          1.49
'   4     Honeydew Melon            0.59
'   5     Pineapple                 1.49
'   6     Strawberries              3.33
'   7     Grapes                    1.99
'   8     Braeburn Apples           1.49
'   9     Peaches                   1.99
'   10    Red Delicious Apples      0.99
'   11    Golden Delicious Apples   1.29
'   12    Yellow Bananas            0.79
'   13    Granny Smith Apples       0.89
'   14    Gala Apples               1.49
'   15    Plums                     1.69
'   16    Navel Oranges             1.29
'   17    Fuji Apples               1.29


[C#] 
using System;
using System.Collections;
using System.Collections.Specialized;

public class SamplesHybridDictionary  {

   public static void Main()  {

      // Creates and initializes a new HybridDictionary.
      HybridDictionary myCol = new HybridDictionary();
      myCol.Add( "Braeburn Apples", "1.49" );
      myCol.Add( "Fuji Apples", "1.29" );
      myCol.Add( "Gala Apples", "1.49" );
      myCol.Add( "Golden Delicious Apples", "1.29" );
      myCol.Add( "Granny Smith Apples", "0.89" );
      myCol.Add( "Red Delicious Apples", "0.99" );
      myCol.Add( "Plantain Bananas", "1.49" );
      myCol.Add( "Yellow Bananas", "0.79" );
      myCol.Add( "Strawberries", "3.33" );
      myCol.Add( "Cranberries", "5.98" );
      myCol.Add( "Navel Oranges", "1.29" );
      myCol.Add( "Grapes", "1.99" );
      myCol.Add( "Honeydew Melon", "0.59" );
      myCol.Add( "Seedless Watermelon", "0.49" );
      myCol.Add( "Pineapple", "1.49" );
      myCol.Add( "Nectarine", "1.99" );
      myCol.Add( "Plums", "1.69" );
      myCol.Add( "Peaches", "1.99" );

      // Displays the values in the HybridDictionary in three different ways.
      Console.WriteLine( "Displays the elements using foreach:" );
      PrintKeysAndValues( myCol );
      Console.WriteLine( "Displays the elements using the IDictionaryEnumerator:" );
      PrintKeysAndValues2( myCol );
      Console.WriteLine( "Displays the elements using the Keys, Values, Count, and indexer properties:" );
      PrintKeysAndValues3( myCol );

   }

   public static void PrintKeysAndValues( IDictionary myCol )  {
      Console.WriteLine( "   KEY                       VALUE" );
      foreach ( DictionaryEntry de in myCol )
         Console.WriteLine( "   {0,-25} {1}", de.Key, de.Value );
      Console.WriteLine();
   }

   public static void PrintKeysAndValues2( IDictionary myCol )  {
      IDictionaryEnumerator myEnumerator = myCol.GetEnumerator();
      Console.WriteLine( "   KEY                       VALUE" );
      while ( myEnumerator.MoveNext() )
         Console.WriteLine( "   {0,-25} {1}", myEnumerator.Key, myEnumerator.Value );
      Console.WriteLine();
   }

   public static void PrintKeysAndValues3( HybridDictionary myCol )  {
      String[] myKeys = new String[myCol.Count];
      myCol.Keys.CopyTo( myKeys, 0 );

      Console.WriteLine( "   INDEX KEY                       VALUE" );
      for ( int i = 0; i < myCol.Count; i++ )
         Console.WriteLine( "   {0,-5} {1,-25} {2}", i, myKeys[i], myCol[myKeys[i]] );
      Console.WriteLine();
   }

}

/*
This code produces the following output.

Displays the elements using foreach:
   KEY                       VALUE
   Seedless Watermelon       0.49
   Nectarine                 1.99
   Cranberries               5.98
   Plantain Bananas          1.49
   Honeydew Melon            0.59
   Pineapple                 1.49
   Strawberries              3.33
   Grapes                    1.99
   Braeburn Apples           1.49
   Peaches                   1.99
   Red Delicious Apples      0.99
   Golden Delicious Apples   1.29
   Yellow Bananas            0.79
   Granny Smith Apples       0.89
   Gala Apples               1.49
   Plums                     1.69
   Navel Oranges             1.29
   Fuji Apples               1.29

Displays the elements using the IDictionaryEnumerator:
   KEY                       VALUE
   Seedless Watermelon       0.49
   Nectarine                 1.99
   Cranberries               5.98
   Plantain Bananas          1.49
   Honeydew Melon            0.59
   Pineapple                 1.49
   Strawberries              3.33
   Grapes                    1.99
   Braeburn Apples           1.49
   Peaches                   1.99
   Red Delicious Apples      0.99
   Golden Delicious Apples   1.29
   Yellow Bananas            0.79
   Granny Smith Apples       0.89
   Gala Apples               1.49
   Plums                     1.69
   Navel Oranges             1.29
   Fuji Apples               1.29

Displays the elements using the Keys, Values, Count, and indexer properties:
   INDEX KEY                       VALUE
   0     Seedless Watermelon       0.49
   1     Nectarine                 1.99
   2     Cranberries               5.98
   3     Plantain Bananas          1.49
   4     Honeydew Melon            0.59
   5     Pineapple                 1.49
   6     Strawberries              3.33
   7     Grapes                    1.99
   8     Braeburn Apples           1.49
   9     Peaches                   1.99
   10    Red Delicious Apples      0.99
   11    Golden Delicious Apples   1.29
   12    Yellow Bananas            0.79
   13    Granny Smith Apples       0.89
   14    Gala Apples               1.49
   15    Plums                     1.69
   16    Navel Oranges             1.29
   17    Fuji Apples               1.29

*/

[C++] 
#using <mscorlib.dll>
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;

void PrintKeysAndValues( IDictionary* myCol )  {
    Console::WriteLine( S"   KEY                       VALUE" );
    IEnumerator* myEnum = myCol->GetEnumerator();
    while (myEnum->MoveNext())
    {
        DictionaryEntry de = *__try_cast<DictionaryEntry*>(myEnum->Current);
        Console::WriteLine( S"   {0,-25} {1}", de.Key, de.Value );
    }
    Console::WriteLine();
}

void PrintKeysAndValues2( IDictionary* myCol )  {
    IDictionaryEnumerator* myEnumerator = myCol->GetEnumerator();
    Console::WriteLine( S"   KEY                       VALUE" );
    while ( myEnumerator->MoveNext() )
        Console::WriteLine( S"   {0,-25} {1}", myEnumerator->Key, myEnumerator->Value );
    Console::WriteLine();
}

void PrintKeysAndValues3( HybridDictionary* myCol )  {
    String* myKeys[] = new String*[myCol->Count];
    myCol->Keys->CopyTo( myKeys, 0 );

    Console::WriteLine( S"   INDEX KEY                       VALUE" );
    for ( int i = 0; i < myCol->Count; i++ )
        Console::WriteLine( S"   {0,-5} {1,-25} {2}", __box(i), myKeys->Item[i], myCol->Item[myKeys[i]] );
    Console::WriteLine();
}

int main()  {

    // Creates and initializes a new HybridDictionary.
    HybridDictionary* myCol = new HybridDictionary();
    myCol->Add( S"Braeburn Apples", S"1.49" );
    myCol->Add( S"Fuji Apples", S"1.29" );
    myCol->Add( S"Gala Apples", S"1.49" );
    myCol->Add( S"Golden Delicious Apples", S"1.29" );
    myCol->Add( S"Granny Smith Apples", S"0.89" );
    myCol->Add( S"Red Delicious Apples", S"0.99" );
    myCol->Add( S"Plantain Bananas", S"1.49" );
    myCol->Add( S"Yellow Bananas", S"0.79" );
    myCol->Add( S"Strawberries", S"3.33" );
    myCol->Add( S"Cranberries", S"5.98" );
    myCol->Add( S"Navel Oranges", S"1.29" );
    myCol->Add( S"Grapes", S"1.99" );
    myCol->Add( S"Honeydew Melon", S"0.59" );
    myCol->Add( S"Seedless Watermelon", S"0.49" );
    myCol->Add( S"Pineapple", S"1.49" );
    myCol->Add( S"Nectarine", S"1.99" );
    myCol->Add( S"Plums", S"1.69" );
    myCol->Add( S"Peaches", S"1.99" );

    // Displays the values in the HybridDictionary in three different ways.
    Console::WriteLine( S"Displays the elements using foreach:" );
    PrintKeysAndValues( myCol );
    Console::WriteLine( S"Displays the elements using the IDictionaryEnumerator:" );
    PrintKeysAndValues2( myCol );
    Console::WriteLine( S"Displays the elements using the Keys, Values, Count, and indexer properties:" );
    PrintKeysAndValues3( myCol );

}

/*
This code produces the following output.

Displays the elements using foreach:
   KEY                       VALUE
   Seedless Watermelon       0.49
   Nectarine                 1.99
   Cranberries               5.98
   Plantain Bananas          1.49
   Honeydew Melon            0.59
   Pineapple                 1.49
   Strawberries              3.33
   Grapes                    1.99
   Braeburn Apples           1.49
   Peaches                   1.99
   Red Delicious Apples      0.99
   Golden Delicious Apples   1.29
   Yellow Bananas            0.79
   Granny Smith Apples       0.89
   Gala Apples               1.49
   Plums                     1.69
   Navel Oranges             1.29
   Fuji Apples               1.29

Displays the elements using the IDictionaryEnumerator:
   KEY                       VALUE
   Seedless Watermelon       0.49
   Nectarine                 1.99
   Cranberries               5.98
   Plantain Bananas          1.49
   Honeydew Melon            0.59
   Pineapple                 1.49
   Strawberries              3.33
   Grapes                    1.99
   Braeburn Apples           1.49
   Peaches                   1.99
   Red Delicious Apples      0.99
   Golden Delicious Apples   1.29
   Yellow Bananas            0.79
   Granny Smith Apples       0.89
   Gala Apples               1.49
   Plums                     1.69
   Navel Oranges             1.29
   Fuji Apples               1.29

Displays the elements using the Keys, Values, Count, and indexer properties:
   INDEX KEY                       VALUE
   0     Seedless Watermelon       0.49
   1     Nectarine                 1.99
   2     Cranberries               5.98
   3     Plantain Bananas          1.49
   4     Honeydew Melon            0.59
   5     Pineapple                 1.49
   6     Strawberries              3.33
   7     Grapes                    1.99
   8     Braeburn Apples           1.49
   9     Peaches                   1.99
   10    Red Delicious Apples      0.99
   11    Golden Delicious Apples   1.29
   12    Yellow Bananas            0.79
   13    Granny Smith Apples       0.89
   14    Gala Apples               1.49
   15    Plums                     1.69
   16    Navel Oranges             1.29
   17    Fuji Apples               1.29

*/

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

HybridDictionary Class | HybridDictionary Members | System.Collections.Specialized Namespace | ICollection | Values

Show:
© 2014 Microsoft