Le moyen le plus concis pour initialiser une table de hachage C # [dupliquer]

StackOverflow https://stackoverflow.com/questions/841128

  •  20-08-2019
  •  | 
  •  

Question

    

Cette question a déjà une réponse ici:

         

C # permet-il que les hashtables soient renseignés dans des expressions d'une ligne? Je pense à quelque chose d'équivalent au ci-dessous Python:

mydict = {"a": 23, "b": 45, "c": 67, "d": 89}

En d'autres termes, existe-t-il une alternative à la définition de chaque paire clé-valeur dans une expression distincte?

Était-ce utile?

La solution

C # 3 a une extension de langue appelée initialiseurs de collection qui vous permet d’initialiser les valeurs d’une collection dans une seule déclaration.

Voici un exemple utilisant un Dictionary<,>:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var dict = new Dictionary<string, int>
        {
            {"a", 23}, {"b", 45}, {"c", 67}, {"d", 89}
        };
    }
}

Cette extension de langage est prise en charge par le compilateur C # 3 et par tout type qui implémente IEnumerable et possède une méthode publique Add.

Si cela vous intéresse, je vous suggère de lire cette question que j'ai posée. ici sur StackOverflow quant à pourquoi l’équipe C # a implémenté cette extension de langage de manière aussi curieuse (une fois que vous aurez lu les excellentes réponses à la question, vous verrez que cela a beaucoup de sens) .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top