C# 辞書を値で初期化する適切な方法 質問する

C# 辞書を値で初期化する適切な方法 質問する

次のコードを使用して、C# ファイルに辞書を作成しています。

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

new下にエラーの赤い線があります:

機能「コレクション初期化子」は ISO-2 C# 言語仕様の一部ではないため使用できません

ここで何が起こっているのですか?

.NET バージョン 2 を使用しています。

ベストアンサー1

単純な .NET 4.0 コンソール アプリケーションではこの問題を再現できません。

static class Program
{
    static void Main(string[] args)
    {
        var myDict = new Dictionary<string, string>
        {
            { "key1", "value1" },
            { "key2", "value2" }
        };

        Console.ReadKey();
    }
}

単純なコンソール アプリケーションで再現してみて、そこから進めてみてはいかがでしょうか。初期化構文をサポートする .NET のバージョンではなく、.NET 2.0 (サポートされていない) またはクライアント プロファイル フレームワークをターゲットにしている可能性があります。

おすすめ記事