C# | Clase de diccionario ordenado

OrderedDictionary Class representa una colección de pares clave/valor a los que se puede acceder mediante la clave o el índice. Está presente en el espacio de nombres System.Collections.Specialized .

Propiedades de la clase OrderedDictionary:

  • Cada elemento es un par clave/valor almacenado en un objeto DictionaryEntry .
  • Una clave no puede ser nula , pero un valor sí puede serlo.
  • Los elementos de un OrderedDictionary no están ordenados por clave.
  • Se puede acceder a los elementos por la clave o por el índice.

Constructores

Constructor Descripción
Diccionario ordenado() Inicializa una nueva instancia de la clase OrderedDictionary.
Diccionario ordenado (IEqualityComparer) Inicializa una nueva instancia de la clase OrderedDictionary mediante el comparador especificado.
Diccionario ordenado (Int32) Inicializa una nueva instancia de la clase OrderedDictionary utilizando la capacidad inicial especificada.
Diccionario ordenado (Int32, IEqualityComparer) Inicializa una nueva instancia de la clase OrderedDictionary utilizando la capacidad inicial y el comparador especificados.
Diccionario ordenado (SerializationInfo, StreamingContext) Inicializa una nueva instancia de la clase OrderedDictionary que se puede serializar mediante los objetos SerializationInfo y StreamingContext especificados.

Ejemplo:

// C# code to create a OrderedDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver method
    public static void Main()
    {
  
        // Creating a orderedDictionary named myDict
        OrderedDictionary myDict = new OrderedDictionary();
  
        // Adding key and value in myDict
        myDict.Add("1", "ONE");
        myDict.Add("2", "TWO");
        myDict.Add("3", "THREE");
  
        // Displaying the number of key/value
        // pairs in myDict
        Console.WriteLine(myDict.Count);
  
        // Displaying the key/value pairs in myDict
        foreach(DictionaryEntry de in myDict)
            Console.WriteLine(de.Key + " --> " + de.Value);
    }
}

Producción:

3
1 --> ONE
2 --> TWO
3 --> THREE

Propiedades

Propiedad Descripción
Contar Obtiene el número de pares clave/valor contenidos en la colección OrderedDictionary.
es solo lectura Obtiene un valor que indica si la colección OrderedDictionary es de solo lectura.
Artículo[Int32] Obtiene o establece el valor en el índice especificado.
Artículo[Objeto] Obtiene o establece el valor con la clave especificada.
Llaves Obtiene un objeto ICollection que contiene las claves de la colección OrderedDictionary.
Valores Obtiene un objeto ICollection que contiene los valores de la colección OrderedDictionary.

Ejemplo 1:

// C# code to check if OrderedDictionary
// collection is read-only
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver method
    public static void Main()
    {
  
        // Creating a orderedDictionary named myDict
        OrderedDictionary myDict = new OrderedDictionary();
  
        // Adding key and value in myDict
        myDict.Add("key1", "value1");
        myDict.Add("key2", "value2");
        myDict.Add("key3", "value3");
        myDict.Add("key4", "value4");
        myDict.Add("key5", "value5");
  
        // Checking if OrderedDictionary
        // collection is read-only
        Console.WriteLine(myDict.IsReadOnly);
    }
}

Producción:

False

Ejemplo 2:

// C# code to get the number of
// key/values pairs contained
// in the OrderedDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver method
    public static void Main()
    {
  
        // Creating a orderedDictionary named myDict
        OrderedDictionary myDict = new OrderedDictionary();
  
        // Adding key and value in myDict
        myDict.Add("A", "Apple");
        myDict.Add("B", "Banana");
        myDict.Add("C", "Cat");
        myDict.Add("D", "Dog");
  
        // To Get the number of key/values
        // pairs contained in the OrderedDictionary
        Console.WriteLine("Number of key/value pairs are : " 
                                            + myDict.Count);
    }
}

Producción:

Number of key/value pairs are : 4

Métodos

Método Descripción
Añadir(Objeto, Objeto) Agrega una entrada con la clave y el valor especificados en la colección OrderedDictionary con el índice más bajo disponible.
Como solo lectura() Devuelve una copia de solo lectura de la colección OrderedDictionary actual.
Claro() Quita todos los elementos de la colección OrderedDictionary.
Contiene (Objeto) Determina si la colección OrderedDictionary contiene una clave específica.
Copiar a (array, Int32) Copia los elementos de OrderedDictionary en un objeto Array unidimensional en el índice especificado.
Es igual a (Objeto) Determina si el objeto especificado es igual al objeto actual.
ObtenerEnumerador() Devuelve un objeto IDictionaryEnumerator que itera a través de la colección OrderedDictionary.
Obtener código hash() Sirve como la función hash predeterminada.
GetObjectData(SerializationInfo, StreamingContext) Implementa la interfaz ISerializable y devuelve los datos necesarios para serializar la colección OrderedDictionary.
ObtenerTipo() Obtiene el Tipo de la instancia actual.
Insertar (Int32, Objeto, Objeto) Inserta una nueva entrada en la colección OrderedDictionary con la clave y el valor especificados en el índice especificado.
MemberwiseClone() Crea una copia superficial del objeto actual.
OnDeserialization(Objeto) Implementa la interfaz ISerializable y el evento de deserialización lo vuelve a llamar cuando se completa la deserialización.
Eliminar (Objeto) Quita la entrada con la clave especificada de la colección OrderedDictionary.
Eliminar en (Int32) Quita la entrada en el índice especificado de la colección OrderedDictionary.
Enstringr() Devuelve una string que representa el objeto actual.

Ejemplo 1:

// C# code to get a read-only
// copy of the OrderedDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver method
    public static void Main()
    {
  
        // Creating a orderedDictionary named myDict
        OrderedDictionary myDict = new OrderedDictionary();
  
        // Adding key and value in myDict
        myDict.Add("key1", "value1");
        myDict.Add("key2", "value2");
        myDict.Add("key3", "value3");
        myDict.Add("key4", "value4");
        myDict.Add("key5", "value5");
  
        // To Get a read-only copy of
        // the OrderedDictionary
        OrderedDictionary myDict_1 = myDict.AsReadOnly();
  
        // Checking if myDict_1 is read-only
        Console.WriteLine(myDict_1.IsReadOnly);
    }
}

Producción:

True

Ejemplo 2:

// C# code to remove the entry
// with the specified key from
// the OrderedDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver method
    public static void Main()
    {
  
        // Creating a orderedDictionary named myDict
        OrderedDictionary myDict = new OrderedDictionary();
  
        // Adding key and value in myDict
        myDict.Add("key1", "value1");
        myDict.Add("key2", "value2");
        myDict.Add("key3", "value3");
        myDict.Add("key4", "value4");
        myDict.Add("key5", "value5");
  
        // Displaying the number of element initially
        Console.WriteLine("Number of elements are : " + myDict.Count);
  
        // Displaying the elements in myDict
        foreach(DictionaryEntry de in myDict)
            Console.WriteLine(de.Key + " -- " + de.Value);
  
        // Removing the entry with the specified
        // key from the OrderedDictionary
        myDict.Remove("key2");
  
        // Displaying the number of element initially
        Console.WriteLine("Number of elements are : " + myDict.Count);
  
        // Displaying the elements in myDict
        foreach(DictionaryEntry de in myDict)
            Console.WriteLine(de.Key + " -- " + de.Value);
    }
}

Producción:

Number of elements are : 5
key1 -- value1
key2 -- value2
key3 -- value3
key4 -- value4
key5 -- value5
Number of elements are : 4
key1 -- value1
key3 -- value3
key4 -- value4
key5 -- value5

Referencia:

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 *