715 votes

Manière appropriée pour initialiser un dictionary c# avec des valeurs déjà dedans ?

Je suis entrain de créer un dictionnaire dans un fichier C# avec le code suivant:

private readonly Dictionary<string, XlFileFormat> FILE_TYPE_DICT
        = new Dictionary<string, XlFileFormat>
        {
            {"csv", XlFileFormat.xlCSV},
            {"html", XlFileFormat.xlHtml}
        };

Il y a une ligne rouge en vertu de l' new avec le message d'erreur:

Caractéristique de la collection initilializer' ne peut pas être utilisé car il ne fait pas partie de l'ISO-2 spécification du langage C#

Quelqu'un peut-il expliquer ce qui se passe ici?

EDIT: ok, donc il s'avère que j'utilisais .NET version 2, quelqu'un peut-il m'aider à changer le numéro de version? J'ai créé ce projet à partir de zéro dans IIS, donc pas de code legacy.

1126voto

Haney Points 8373

Je ne peux pas reproduire ce problème dans une application de console .NET 4.0 :

Vous pouvez essayer de reproduire dans une application Console simple et aller de là ? Il semble que peut-être vous êtes ciblant .NET 2.0 (qui ne le supporte pas) ou un cadre de profil client ou peut-être manque certaines DLLs GAC ou quelque chose de bizarre.

14voto

walkhard Points 16756

Initialiseurs d’objets ont été introduits en c# 3.0, vérifier quelle version de cadre que vous ciblez.

Vue d’ensemble du langage c# 3.0

0voto

Lee Points 9
<pre><code></code><p><a href="http://csharp.net-informations.com/collection/dictionary.htm" rel="nofollow">C# dictionnaire</a></p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X