C# | Creación de un HybridDictionary con tamaño inicial especificado y distinción entre mayúsculas y minúsculas – Part 1

HybridDictionary(Int32, Boolean) crea un HybridDictionary con el tamaño inicial especificado y la distinción entre mayúsculas y minúsculas.

Sintaxis:

public HybridDictionary (int initialSize, bool caseInsensitive);

Parámetros:

  • initialSize : el número aproximado de entradas que HybridDictionary puede contener inicialmente.
  • caseInsensible: un valor booleano que indica si HybridDictionary no distingue entre mayúsculas y minúsculas.

Los siguientes programas ilustran el uso de HybridDictionary(Int32, Boolean) :

Ejemplo 1:

// C# code to create a HybridDictionary
// with the specified initial size
// and case sensitivity.
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a HybridDictionary with the
        // specified initial size and case sensitivity.
        HybridDictionary myDict = new HybridDictionary(10, false);
  
        // Adding key/value pairs in myDict
        myDict.Add("I", "first");
  
        // This will not raise exception as the
        // Collection is not case-insensitive
        myDict.Add("i", "first");
        myDict.Add("II", "second");
        myDict.Add("III", "third");
        myDict.Add("IV", "fourth");
        myDict.Add("V", "fifth");
  
        // Displaying the key/value pairs in myDict
        foreach(DictionaryEntry de in myDict)
            Console.WriteLine(de.Key + " " + de.Value);
    }
}

Producción:

III third
V fifth
II second
i first
I first
IV fourth

Ejemplo 2:

// C# code to create a HybridDictionary
// with the specified initial size
// and case sensitivity.
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a HybridDictionary with the
        // specified initial size and case sensitivity.
        HybridDictionary myDict = new HybridDictionary(10, true);
  
        // Adding key/value pairs in myDict
        myDict.Add("A", "Apple");
  
        // This will raise exception as the
        // Collection is case-insensitive
        myDict.Add("a", "Air");
        myDict.Add("B", "Banana");
        myDict.Add("C", "Cat");
        myDict.Add("D", "Dog");
        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);
    }
}

Error de tiempo de ejecución:

Excepción no controlada:
System.ArgumentException: el elemento ya se ha agregado. Clave en el diccionario: ‘A’ Clave agregada: ‘a’
en System.Collections.Hashtable.Insert

Nota:

  • Si el tamaño inicial de la colección es mayor que el tamaño óptimo para ListDictionary , la colección se almacena en Hashtable para evitar la sobrecarga de copiar elementos de ListDictionary a Hashtable.
  • Este constructor es una operación O(n), donde n es initialSize .

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *