C# | Creating a HybridDictionary with specified initial size & case sensitivity
Last Updated :
01 Feb, 2019
HybridDictionary(Int32, Boolean) creates a HybridDictionary with the specified initial size and case sensitivity.
Syntax:
public HybridDictionary (int initialSize, bool caseInsensitive);
Parameters:
- initialSize : The approximate number of entries that the HybridDictionary can initially contain.
- caseInsensitive : A Boolean that denotes whether the HybridDictionary is case-insensitive.
Below programs illustrate the use of HybridDictionary(Int32, Boolean):
Example 1:
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
public static void Main()
{
HybridDictionary myDict = new HybridDictionary(10, false );
myDict.Add( "I" , "first" );
myDict.Add( "i" , "first" );
myDict.Add( "II" , "second" );
myDict.Add( "III" , "third" );
myDict.Add( "IV" , "fourth" );
myDict.Add( "V" , "fifth" );
foreach (DictionaryEntry de in myDict)
Console.WriteLine(de.Key + " " + de.Value);
}
}
|
Output:
III third
V fifth
II second
i first
I first
IV fourth
Example 2:
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
public static void Main()
{
HybridDictionary myDict = new HybridDictionary(10, true );
myDict.Add( "A" , "Apple" );
myDict.Add( "a" , "Air" );
myDict.Add( "B" , "Banana" );
myDict.Add( "C" , "Cat" );
myDict.Add( "D" , "Dog" );
myDict.Add( "E" , "Elephant" );
myDict.Add( "F" , "Fish" );
foreach (DictionaryEntry de in myDict)
Console.WriteLine(de.Key + " " + de.Value);
}
}
|
Runtime Error:
Unhandled Exception:
System.ArgumentException: Item has already been added. Key in dictionary: ‘A’ Key being added: ‘a’
at System.Collections.Hashtable.Insert
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.
- This constructor is an O(n) operation, where n is initialSize.
Share your thoughts in the comments
Please Login to comment...