Open In App

C# | Creating a Case-Sensitive HybridDictionary with specified initial size

Improve
Improve
Like Article
Like
Save
Share
Report

HybridDictionary(Int32) constructor is used to create a case-sensitive HybridDictionary with the specified initial size. Syntax:

public HybridDictionary (int initialSize);

Here, initialSize is the approximate number of entries that the HybridDictionary can initially contain. Below given are some examples to understand the implementation in a better way: Example 1: 

CSHARP




// C# code to create a case-sensitive
// HybridDictionary with the specified
// initial size.
using System;
using System.Collections;
using System.Collections.Specialized;
 
class GFG {
 
    // Driver code
    public static void Main()
    {
 
        // creating a case-sensitive HybridDictionary
        // with the specified initial size.
        HybridDictionary myDict = new HybridDictionary(10);
 
        // Adding key/value pairs in myDict
        myDict.Add("A", "Apple");
 
        // This will not raise exception as
        // By default, the collection is case-sensitive
        myDict.Add("a", "Air");
        myDict.Add("B", "Banana");
        myDict.Add("C", "Cat");
        myDict.Add("D", "Dog");
 
        // This will not raise exception as
        // By default, the collection is case-sensitive
        myDict.Add("d", "Dolphine");
        myDict.Add("E", "Elephant");
        myDict.Add("F", "Fish");
 
        // Displaying the key/value pairs in myDict
        foreach(DictionaryEntry de in myDict)
            Console.WriteLine(de.Key + " " + de.Value);
    }
}


Output:

B Banana
a Air
A Apple
d Dolphin
C Cat
E Elephant
F Fish
D Dog

Example 2: 

CSHARP




// C# code to create a case-sensitive
// HybridDictionary with the specified
// initial size.
using System;
using System.Collections;
using System.Collections.Specialized;
 
class GFG {
 
    // Driver code
    public static void Main()
    {
 
        // creating a case-sensitive HybridDictionary
        // with the specified initial size.
        HybridDictionary myDict = new HybridDictionary(10);
 
        // Adding key/value pairs in myDict
        // As the HybridDictionary is case-sensitive
        // Therefore no exception is raised
        // Because "k1" & "K1" are taken as different keys
        // Similarly "k2" & "K2", "k3" & "K3"
        myDict.Add("k1", "v1");
        myDict.Add("K1", "v1");
        myDict.Add("k2", "v2");
        myDict.Add("K2", "v2");
        myDict.Add("k3", "v3");
        myDict.Add("K3", "v3");
 
        // Displaying the key/value pairs in myDict
        foreach(DictionaryEntry de in myDict)
            Console.WriteLine(de.Key + " " + de.Value);
    }
}


Output:

k3 v3
K3 v3
k2 v2
K2 v2
k1 v1
K1 v1

Note:

  • If the initial size of the collection is greater than the optimal size for a ListDictionary, the collection is stored in a Hashtable to avoid the overhead of copying elements from the ListDictionary to the Hashtable.
  • By default, the collection is case-sensitive.
  • Every key in a HybridDictionary must be unique.
  • This constructor is an O(n) operation, where n is initialSize.


Last Updated : 16 Nov, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads