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
Add key and value into OrderedDictionary collection in C#
The OrderedDictionary collection in C# maintains the insertion order of key-value pairs, combining features of both hashtables and arrays. To add key-value pairs, use the Add() method which accepts the key and value as parameters.
OrderedDictionary is part of the System.Collections.Specialized namespace and allows access to elements both by key and by index, making it useful when you need to preserve insertion order.
Syntax
Following is the syntax for adding key-value pairs to an OrderedDictionary −
OrderedDictionary dict = new OrderedDictionary(); dict.Add(key, value);
Parameters
- key − The key of the element to add. Cannot be null.
- value − The value of the element to add. Can be null.
Using Add() Method with String Keys
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
OrderedDictionary dict1 = new OrderedDictionary();
dict1.Add("A", "Books");
dict1.Add("B", "Electronics");
dict1.Add("C", "Smart Wearables");
dict1.Add("D", "Pet Supplies");
dict1.Add("E", "Clothing");
dict1.Add("F", "Footwear");
Console.WriteLine("OrderedDictionary1 elements...");
foreach(DictionaryEntry d in dict1) {
Console.WriteLine(d.Key + " " + d.Value);
}
OrderedDictionary dict2 = new OrderedDictionary();
dict2.Add("1", "One");
dict2.Add("2", "Two");
dict2.Add("3", "Three");
dict2.Add("4", "Four");
dict2.Add("5", "Five");
dict2.Add("6", "Six");
Console.WriteLine("\nOrderedDictionary2 elements...");
foreach(DictionaryEntry d in dict2) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("\nIs OrderedDictionary1 equal to OrderedDictionary2? = "+(dict1.Equals(dict2)));
}
}
The output of the above code is −
OrderedDictionary1 elements... A Books B Electronics C Smart Wearables D Pet Supplies E Clothing F Footwear OrderedDictionary2 elements... 1 One 2 Two 3 Three 4 Four 5 Five 6 Six Is OrderedDictionary1 equal to OrderedDictionary2? = False
Accessing Values and Key Checking
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
OrderedDictionary dict = new OrderedDictionary();
dict.Add("1", "One");
dict.Add("2", "Two");
dict.Add("3", "Three");
dict.Add("4", "Four");
dict.Add("5", "Five");
dict.Add("6", "Six");
dict.Add("7", "Seven");
dict.Add("8", "Eight");
ICollection col = dict.Values;
String[] strVal = new String[dict.Count];
col.CopyTo(strVal, 0);
Console.WriteLine("Displaying the values...");
for (int i = 0; i < dict.Count; i++) {
Console.WriteLine(strVal[i]);
}
Console.WriteLine("Is OrderedDictionary read-only? = "+dict.IsReadOnly);
Console.WriteLine("The OrderedDictionary has the key 15? = "+dict.Contains("15"));
Console.WriteLine("The OrderedDictionary has the key 5? = "+dict.Contains("5"));
}
}
The output of the above code is −
Displaying the values... One Two Three Four Five Six Seven Eight Is OrderedDictionary read-only? = False The OrderedDictionary has the key 15? = False The OrderedDictionary has the key 5? = True
Key Features of OrderedDictionary
| Feature | Description |
|---|---|
| Insertion Order | Maintains the order in which elements are added |
| Key Access | Access elements by key like a hashtable |
| Index Access | Access elements by index like an array |
| Null Values | Allows null values but not null keys |
Conclusion
The OrderedDictionary collection in C# provides an efficient way to store key-value pairs while preserving insertion order. Use the Add() method to insert elements, and leverage both key-based and index-based access for flexible data retrieval.
