C#では、ハッシュテーブルを1行の式に入力できますか?以下のPythonと同等のものを考えています:
mydict = {"a": 23, "b": 45, "c": 67, "d": 89}
つまり、各キーと値のペアを別の式に設定する代わりの方法はありますか?
C#3には、コレクション初期化子と呼ばれる言語拡張があり、1つのステートメントでコレクションの値を初期化できます。
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}
};
}
}
この言語拡張は、C#3コンパイラ、およびIEnumerable
を実装し、パブリックAdd
メソッドを持つすべての型でサポートされています。
興味がある場合は、次をお読みになることをお勧めします この質問はStackOverflowでここで尋ねました について理由C#チームがこの言語を実装しましたそのような奇妙な方法での拡張(質問に対する優れた答えを読むと、それが非常に理にかなっていることがわかります)。