Open In App

C# | Get a collection of keys in the StringDictionary

Improve
Improve
Like Article
Like
Save
Share
Report

StringDictionary.Keys property is used to get a collection of keys in the StringDictionary.

Syntax:

public virtual System.Collections.ICollection Keys { get; }

Return Value: An ICollection that provides the keys in the StringDictionary.

Below given are some examples to understand the implementation in a better way:

Example 1:




// C# code to get a collection
// of keys in the StringDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a StringDictionary named myDict
        StringDictionary myDict = new StringDictionary();
  
        // Adding key and value into the StringDictionary
        myDict.Add("A", "Apple");
        myDict.Add("B", "Banana");
        myDict.Add("C", "Cat");
        myDict.Add("D", "Dog");
  
        // To copy the StringDictionary values to
        // a one-dimensional Array instance at
        // the specified index.
        String[] myKeys = new String[myDict.Count];
        myDict.Keys.CopyTo(myKeys, 0);
  
        // Getting a collection of keys
        // in the StringDictionary
        for (int i = 0; i < myDict.Count; i++) {
            Console.WriteLine(myKeys[i] + " " + myDict[myKeys[i]]);
        }
    }
}


Output:

d Dog
b Banana
c Cat
a Apple

Example 2:




// C# code to get a collection
// of keys in the StringDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a StringDictionary named myDict
        StringDictionary myDict = new StringDictionary();
  
        // Adding key and value into the StringDictionary
        myDict.Add("3", "prime & odd");
        myDict.Add("2", "prime & even");
        myDict.Add("4", "non-prime & even");
        myDict.Add("9", "non-prime & odd");
  
        // To copy the StringDictionary values to
        // a one-dimensional Array instance at
        // the specified index.
        String[] myKeys = new String[myDict.Count];
        myDict.Keys.CopyTo(myKeys, 0);
  
        // Getting a collection of keys
        // in the StringDictionary
        for (int i = 0; i < myDict.Count; i++) {
            Console.WriteLine(myKeys[i] + " " + myDict[myKeys[i]]);
        }
    }
}


Output:

2 prime & even
3 prime & odd
9 non-prime & odd
4 non-prime & even

Note:

  • The order of the keys 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 StringDictionary. Therefore, changes to the StringDictionary continue to be reflected in the ICollection.
  • Retrieving the value of this property is an O(1) operation.

Reference:



Last Updated : 01 Feb, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads