C# | Clase ListDictionary – Part 1

ListDictionary es una colección especializada. Viene bajo el espacio de nombres System.Collections.Specialized . Este tipo representa un tipo de diccionario no genérico. Se implementa con una lista enlazada . Esta clase es una implementación simple de una colección de diccionarios (System.Collections.IDictionary) para listas pequeñas. Implementa los métodos y propiedades de IDictionary , y se sugiere su uso con una pequeña cantidad de elementos (menos de 10).

Características de la clase ListDictionary:

  • ListDictionary es una implementación simple de IDictionary usando una lista enlazada individualmente.
  • Es más pequeño y más rápido que un Hashtable si el número de elementos es 10 o menos.
  • ListDictionary no debe usarse si el rendimiento es importante para una gran cantidad de elementos.
  • Los elementos de un ListDictionary no están en ningún orden garantizado.
  • Una clave no puede ser nula , pero un valor sí.

Constructores

Constructor Descripción
ListaDiccionario() Crea un ListDictionary vacío usando el comparador predeterminado.
ListaDiccionario(IComparer) Crea un ListDictionary vacío usando el comparador especificado.

Ejemplo:

// C# code to create a ListDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
// Driver code
public static void Main()
{
  
    // Creating a ListDictionary named myDict
    ListDictionary myDict = new ListDictionary();
  
    // Adding key/value pairs in myDict
    myDict.Add("Australia", "Canberra");
    myDict.Add("Belgium", "Brussels");
    myDict.Add("Netherlands", "Amsterdam");
    myDict.Add("China", "Beijing");
    myDict.Add("Russia", "Moscow");
    myDict.Add("India", "New Delhi");
  
    // To get count of key/value pairs in myDict
    Console.WriteLine("Total key/value pairs in myDict are : " + myDict.Count);
      
    // Displaying the key/value pairs in myDict
    Console.WriteLine("The key/value pairs in myDict are : ");
  
    foreach(DictionaryEntry de in myDict)
    {
        Console.WriteLine(de.Key + " " + de.Value);
    }
}
}
Producción:

Total key/value pairs in myDict are : 6
The key/value pairs in myDict are : 
Australia Canberra
Belgium Brussels
Netherlands Amsterdam
China Beijing
Russia Moscow
India New Delhi

Propiedades

Propiedad Descripción
Contar Obtiene el número de pares clave/valor contenidos en ListDictionary.
EsTamañoFijo Obtiene un valor que indica si ListDictionary tiene un tamaño fijo.
es solo lectura Obtiene un valor que indica si ListDictionary es de solo lectura.
Está sincronizado Obtiene un valor que indica si ListDictionary está sincronizado (seguro para subprocesos).
Artículo[Objeto] Obtiene o establece el valor asociado a la clave especificada.
Llaves Obtiene una ICollection que contiene las claves de ListDictionary.
SyncRoot Obtiene un objeto que se puede usar para sincronizar el acceso a ListDictionary.
Valores Obtiene una ICollection que contiene los valores de ListDictionary.

Ejemplo 1:

// C# code to get the number
// of key/value pairs contained
// in the ListDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a ListDictionary named myDict
        ListDictionary myDict = new ListDictionary();
  
        // Adding key/value pairs in myDict
        myDict.Add("Australia", "Canberra");
        myDict.Add("Belgium", "Brussels");
        myDict.Add("Netherlands", "Amsterdam");
        myDict.Add("China", "Beijing");
        myDict.Add("Russia", "Moscow");
        myDict.Add("India", "New Delhi");
  
        // Displaying the number of key/value
        // pairs contained in the ListDictionary
        Console.WriteLine(myDict.Count);
    }
}
Producción:

6

Ejemplo 2:

// C# code to check if ListDictionary is read-only
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a ListDictionary named myDict
        ListDictionary myDict = new ListDictionary();
  
        myDict.Add("Australia", "Canberra");
        myDict.Add("Belgium", "Brussels");
        myDict.Add("Netherlands", "Amsterdam");
        myDict.Add("China", "Beijing");
        myDict.Add("Russia", "Moscow");
        myDict.Add("India", "New Delhi");
  
        // Checking if ListDictionary is read-only
        Console.WriteLine(myDict.IsReadOnly);
    }
}
Producción:

False

Métodos

Método Descripción
Añadir(Objeto, Objeto) Agrega una entrada con la clave y el valor especificados en ListDictionary.
Claro() Elimina todas las entradas del ListDictionary.
Contiene (Objeto) Determina si ListDictionary contiene una clave específica.
Copiar a (array, Int32) Copia las entradas de ListDictionary en una instancia de Array unidimensional en el índice especificado.
Es igual a (Objeto) Determina si el objeto especificado es igual al objeto actual.
ObtenerEnumerador() Devuelve un IDictionaryEnumerator que itera a través de ListDictionary.
Obtener código hash() Sirve como la función hash predeterminada.
ObtenerTipo() Obtiene el Tipo de la instancia actual.
MemberwiseClone() Crea una copia superficial del objeto actual.
Eliminar (Objeto) Elimina la entrada con la clave especificada de ListDictionary.
Enstringr() Devuelve una string que representa el objeto actual.

Ejemplo 1:

// C# code to add an entry with
// the specified key and value
// into the ListDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
// Driver code
public static void Main()
{
  
    // Creating a ListDictionary named myDict
    ListDictionary myDict = new ListDictionary();
  
    myDict.Add("Australia", "Canberra");
    myDict.Add("Belgium", "Brussels");
    myDict.Add("Netherlands", "Amsterdam");
    myDict.Add("China", "Beijing");
    myDict.Add("Russia", "Moscow");
    myDict.Add("India", "New Delhi");
  
    // Displaying the total number of elements in myDict
    Console.WriteLine("Total number of elements in myDict are : " 
                                                  + myDict.Count);
  
    // Displaying the elements in ListDictionary myDict
    foreach(DictionaryEntry de in myDict)
    {
        Console.WriteLine(de.Key + " " + de.Value);
    }
}
}
Producción:

Total number of elements in myDict are : 6
Australia Canberra
Belgium Brussels
Netherlands Amsterdam
China Beijing
Russia Moscow
India New Delhi

Ejemplo 2:

// C# code to remove all entries
// from the ListDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
// Driver code
public static void Main()
{
  
    // Creating a ListDictionary named myDict
    ListDictionary myDict = new ListDictionary();
  
    // Adding key/value pairs in myDict
    myDict.Add("I", "first");
    myDict.Add("II", "second");
    myDict.Add("III", "third");
    myDict.Add("IV", "fourth");
    myDict.Add("V", "fifth");
  
    // To get count of key/value pairs in myDict
    Console.WriteLine("Total key/value pairs in myDict are : " 
                                              + myDict.Count);
                                                
    // Displaying the key/value pairs in myDict
  
    Console.WriteLine("The key/value pairs in myDict are : ");
  
    foreach(DictionaryEntry de in myDict)
    {
        Console.WriteLine(de.Key + " " + de.Value);
    }
  
    // Removing all entries from the ListDictionary
    myDict.Clear();
  
    // To get count of key/value pairs in myDict
    Console.WriteLine("Total key/value pairs in myDict are : " 
                                              + myDict.Count);
  
    // Displaying the key/value pairs in myDict
  
    Console.WriteLine("The key/value pairs in myDict are : ");
  
    foreach(DictionaryEntry de in myDict)
    {
        Console.WriteLine(de.Key + " " + de.Value);
    }
}
}
Producción:

Total key/value pairs in myDict are : 5
The key/value pairs in myDict are : 
I first
II second
III third
IV fourth
V fifth
Total key/value pairs in myDict are : 0
The key/value pairs in myDict are :

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 *