Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
SortedDictionary.Keys Property in C#
The SortedDictionary.Keys property in C# returns a collection containing all the keys in the SortedDictionary<TKey, TValue>. The keys are returned in sorted order based on the comparer used by the SortedDictionary.
Syntax
Following is the syntax for the Keys property −
public SortedDictionary<TKey,TValue>.KeyCollection Keys { get; }
Return Value
The Keys property returns a SortedDictionary<TKey,TValue>.KeyCollection containing all the keys in the SortedDictionary. The collection is read-only and reflects changes made to the underlying dictionary.
Using Keys Property with Integer Keys
Example
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
SortedDictionary<int, string> sortedDict = new SortedDictionary<int, string>();
sortedDict.Add(1, "SUV");
sortedDict.Add(2, "MUV");
sortedDict.Add(3, "Utility Vehicle");
sortedDict.Add(4, "AUV");
sortedDict.Add(5, "Hatchback");
sortedDict.Add(6, "Convertible");
Console.WriteLine("SortedDictionary key-value pairs...");
foreach (var pair in sortedDict) {
Console.WriteLine("Key = " + pair.Key + ", Value = " + pair.Value);
}
Console.WriteLine("Count of SortedDictionary key-value pairs = " + sortedDict.Count);
// Add more elements
sortedDict.Add(7, "Seven");
sortedDict.Add(8, "Eight");
Console.WriteLine("\nSortedDictionary key-value pairs...UPDATED");
foreach (var pair in sortedDict) {
Console.WriteLine("Key = " + pair.Key + ", Value = " + pair.Value);
}
Console.WriteLine("Count of SortedDictionary key-value pairs (UPDATED) = " + sortedDict.Count);
// Update a value
Console.WriteLine("Value in the SortedDictionary key-value pair key five = " + sortedDict[5]);
sortedDict[5] = "Crossover";
Console.WriteLine("Value in the SortedDictionary key-value pair key five (updated) = " + sortedDict[5]);
// Using Keys property
SortedDictionary<int, string>.KeyCollection keyColl = sortedDict.Keys;
Console.WriteLine("\nKeys...");
foreach (int i in keyColl) {
Console.WriteLine(i);
}
}
}
The output of the above code is −
SortedDictionary key-value pairs... Key = 1, Value = SUV Key = 2, Value = MUV Key = 3, Value = Utility Vehicle Key = 4, Value = AUV Key = 5, Value = Hatchback Key = 6, Value = Convertible Count of SortedDictionary key-value pairs = 6 SortedDictionary key-value pairs...UPDATED Key = 1, Value = SUV Key = 2, Value = MUV Key = 3, Value = Utility Vehicle Key = 4, Value = AUV Key = 5, Value = Hatchback Key = 6, Value = Convertible Key = 7, Value = Seven Key = 8, Value = Eight Count of SortedDictionary key-value pairs (UPDATED) = 8 Value in the SortedDictionary key-value pair key five = Hatchback Value in the SortedDictionary key-value pair key five (updated) = Crossover Keys... 1 2 3 4 5 6 7 8
Using Keys Property with Different Key Types
Example
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
SortedDictionary<int, string> sortedDict = new SortedDictionary<int, string>();
sortedDict.Add(100, "Mobile");
sortedDict.Add(200, "Laptop");
sortedDict.Add(300, "Desktop");
sortedDict.Add(400, "Speakers");
sortedDict.Add(500, "Headphone");
sortedDict.Add(600, "Earphone");
Console.WriteLine("SortedDictionary key-value pairs...");
foreach (var pair in sortedDict) {
Console.WriteLine("Key = " + pair.Key + ", Value = " + pair.Value);
}
Console.WriteLine("\nThe SortedDictionary has the key 200? = " + sortedDict.ContainsKey(200));
SortedDictionary<int, string>.KeyCollection keyColl = sortedDict.Keys;
Console.WriteLine("\nKeys...");
foreach (int i in keyColl) {
Console.WriteLine(i);
}
}
}
The output of the above code is −
SortedDictionary key-value pairs... Key = 100, Value = Mobile Key = 200, Value = Laptop Key = 300, Value = Desktop Key = 400, Value = Speakers Key = 500, Value = Headphone Key = 600, Value = Earphone The SortedDictionary has the key 200? = True Keys... 100 200 300 400 500 600
Using Keys Collection with String Keys
Example
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
SortedDictionary<string, int> sortedDict = new SortedDictionary<string, int>();
sortedDict.Add("Zebra", 1);
sortedDict.Add("Apple", 2);
sortedDict.Add("Mango", 3);
sortedDict.Add("Banana", 4);
Console.WriteLine("SortedDictionary entries (automatically sorted by key):");
foreach (var pair in sortedDict) {
Console.WriteLine("Key = " + pair.Key + ", Value = " + pair.Value);
}
Console.WriteLine("\nKeys in alphabetical order:");
var keyCollection = sortedDict.Keys;
foreach (string key in keyCollection) {
Console.WriteLine(key);
}
Console.WriteLine("\nTotal keys: " + keyCollection.Count);
}
}
The output of the above code is −
SortedDictionary entries (automatically sorted by key): Key = Apple, Value = 2 Key = Banana, Value = 4 Key = Mango, Value = 3 Key = Zebra, Value = 1 Keys in alphabetical order: Apple Banana Mango Zebra Total keys: 4
Conclusion
The SortedDictionary.Keys property provides a read-only collection of all keys in the dictionary, automatically maintained in sorted order. This property is useful for iterating through keys, checking key existence, or performing operations that require sorted key access without modifying the original dictionary.
