Convertir diccionario en colección de listas en C#

Syed Hassan Sabeeh Kazmi 12 octubre 2023
Convertir diccionario en colección de listas en C#

En C#, un diccionario se puede convertir en una lista utilizando el método ToList() como parte de las extensiones System.Linq. Un diccionario no se puede convertir a una List<string> directamente porque el tipo de retorno del diccionario es KeyCollection.

La lista es similar a ArrayList, la única diferencia es que la lista es genérica y tiene propiedades únicas.

Este tutorial le enseñará cómo convertir un diccionario en una colección de listas en C#.

Utilice el método ToList() para convertir el diccionario en una colección de listas en C#

Un diccionario en C# acepta dos argumentos, el primero es la clave y el segundo es el valor. El diccionario es útil cuando se agregan diferentes datos y sus valores a una lista.

Para convertir los valores del diccionario en una colección de listas, podemos convertir esta lista genérica mediante su método integrado ToList(). Tanto las listas como los diccionarios almacenan colecciones de datos y son similares; ambos son estructuras de datos de acceso aleatorio del framework .NET.

El diccionario se basa en una tabla hash, un algoritmo eficiente para buscar cosas. Por otro lado, una lista va elemento por elemento hasta que encuentra el resultado desde el principio hasta el resultado cada vez.

Es fácil convertir un diccionario en una colección de listas en C# utilizando los espacios de nombres System.Collections.Generic y System.Linq. Llame a ToList() en una colección de diccionarios, produciendo una lista de instancias de KeyValuePair.

// add `System.Collections.Generic` and `System.Linq` namespaces
using System;
using System.Collections.Generic;
using System.Linq;

class ConDtoLCol {
  static void Main() {
    // create a Dictionary
    Dictionary<string, int> dict = new Dictionary<string, int>();
    dict["cat"] = 1;
    dict["dog"] = 4;
    dict["mouse"] = 2;
    dict["rabbit"] = -1;

    // call ToList to convert the `dict` Dictionary to List
    List<KeyValuePair<string, int>> list = dict.ToList();

    // loop over List to show successful conversion
    foreach (KeyValuePair<string, int> pair in list) {
      Console.WriteLine(pair.Key);
      Console.WriteLine("   {0}", pair.Value);
    }
  }
}

Producción :

cat
   1
dog
   4
mouse
   2
rabbit
   -1

Si desea convertir las claves de un diccionario en una colección de listas en C#, puede usar:

List<string> listNumber = dicNumber.Keys.ToList();

Además, para convertir valores de un diccionario en una colección de listas en C#, puede usar:

List<string> listNumber = dicNumber.Values.ToList();

El diccionario de framework .NET representa una colección de claves y valores. El objetivo principal de las claves del diccionario es permitir que los usuarios obtengan una lista genérica (colección) de los valores del diccionario.

Además, puede usar la propiedad values para obtener esa lista genérica de valores de diccionario. En este artículo, aprendió la forma más eficiente de convertir claves y valores de un diccionario en una lista en C#.

Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub

Artículo relacionado - Csharp Dictionary

Artículo relacionado - Csharp List