1. ホーム
  2. c#

[解決済み] Dictionary<TKey, TValue>のエントリーにコレクション・イニシャライザーを使用することは可能ですか?

2023-02-07 13:55:50

質問

次のコードでコレクションイニシャライザーを使いたいのですが、どうすればいいですか?

public Dictionary<int, string> GetNames()
{
    Dictionary<int, string> names = new Dictionary<int, string>();
    names.Add(1, "Adam");
    names.Add(2, "Bart");
    names.Add(3, "Charlie");
    return names;
}

ということで、典型的には次のようなものになるはずです。

return new Dictionary<int, string>
{ 
   1, "Adam",
   2, "Bart"
   ...

しかし、これの正しい構文は何でしょうか?

どのように解決するのですか?

var names = new Dictionary<int, string> {
  { 1, "Adam" },
  { 2, "Bart" },
  { 3, "Charlie" }
};