Convertir un dictionnaire en collection de listes en C#

Syed Hassan Sabeeh Kazmi 12 octobre 2023
Convertir un dictionnaire en collection de listes en C#

En C#, un dictionnaire peut être converti en liste à l’aide de la méthode ToList() dans le cadre des extensions System.Linq. Un dictionnaire ne peut pas être converti directement en List<string> car le type de retour du dictionnaire est KeyCollection.

La liste est similaire à une ArrayList, la seule différence étant que la liste est générique et possède des propriétés uniques.

Ce didacticiel vous apprendra à convertir un dictionnaire en une collection de listes en C#.

Utilisez la méthode ToList() pour convertir le dictionnaire en collection de listes en C#

Un dictionnaire en C# accepte deux arguments, le premier est la clé et le second est la valeur. Le dictionnaire est utile lors de l’ajout de différentes données et de leurs valeurs à une liste.

Pour convertir les valeurs du dictionnaire en une collection de liste, nous pouvons convertir cette liste générique par sa méthode intégrée ToList(). Les listes et les dictionnaires stockent des collections de données et sont similaires ; les deux sont des structures de données à accès aléatoire du framework .NET.

Le dictionnaire est basé sur une table de hachage, un algorithme efficace pour rechercher des éléments. D’autre part, une liste va élément par élément jusqu’à ce qu’elle trouve le résultat du début au résultat à chaque fois.

Il est facile de convertir un dictionnaire en une collection de listes en C# en utilisant les espaces de noms System.Collections.Generic et System.Linq. Appelez ToList() sur une collection de dictionnaires, produisant une liste d’instances 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);
    }
  }
}

Production:

cat
   1
dog
   4
mouse
   2
rabbit
   -1

Si vous souhaitez convertir les clés d’un dictionnaire en une collection de listes en C#, vous pouvez utiliser :

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

De plus, pour convertir les valeurs d’un dictionnaire en une collection de listes en C#, vous pouvez utiliser :

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

Le dictionnaire du framework .NET représente une collection de clés et de valeurs. L’objectif principal des clés de dictionnaire est de permettre aux utilisateurs d’obtenir une liste générique (collection) des valeurs du dictionnaire.

De plus, vous pouvez utiliser la propriété values pour obtenir cette liste générique de valeurs de dictionnaire. Dans cet article, vous avez appris le moyen le plus efficace de convertir les clés et les valeurs d’un dictionnaire en une liste 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

Article connexe - Csharp Dictionary

Article connexe - Csharp List