15

Pythonでは次のことができます。

d = {1 : 'Hello', 2 : 'World'}

C#では、より冗長です。

Dictionary<int, string> d = new Dictionary<int, string>();
d.Add(1, 'Hello');
d.Add(2, 'World');

どうすればこれを冗長性を減らすことができますか?

4

1 に答える 1

24

コレクション初期化構文(およびでの暗黙的な入力var)を使用できます。

var myDict = new Dictionary<int, string> { {1, "Hello"}, {2, "World"} };

このコードは、実際には上記のコードにコンパイルされます。(残念ながら)コンストラクターまたはジェネリック型の引数を削除できないことに注意してください。

完全にPythonicではありませんが、そこに到達します!

于 2011-09-08T14:38:57.943 に答える