C# で辞書を初期化する

Muhammad Maisam Abbas 2023年10月12日
  1. C# で事前定義されたデータ型の辞書を初期化する
  2. C# でユーザー定義データ型のディクショナリを初期化する
C# で辞書を初期化する

このチュートリアルでは、C# で辞書を初期化する方法について説明します。

C# で事前定義されたデータ型の辞書を初期化する

ディクショナリデータ構造は、キー/値ペアの形式でデータを保持します。Dictionary<key, value> クラスを使用して、C# で辞書を作成できます。Dictionary<key, value> クラスのコンストラクターを使用して、C# で辞書を初期化できます。次のコード例は、C# の Dictionary<key, value> クラスのコンストラクターを使用して辞書を初期化する方法を示しています。

using System;
using System.Collections.Generic;

namespace initialize_dictionary {
  class Program {
    static void Main(string[] args) {
      Dictionary<string, string> myDictionary = new Dictionary<string, string> {
        { "Key1", "Value1" },
        { "Key2", "Value2" },
        { "Key3", "Value3" },
      };
      foreach (var x in myDictionary) {
        Console.WriteLine(x);
      }
    }
  }
}

出力:

[Key1, Value1]
[Key2, Value2]
[Key3, Value3]

C# の Dictionary<key, value> クラスのコンストラクターを使用して、辞書 myDictionary を宣言して初期化しました。この例では、事前定義されたデータ型の辞書を宣言して初期化できますが、C# でこのメソッドを使用してユーザー定義のデータ型の辞書を宣言して初期化することはできません。

C# でユーザー定義データ型のディクショナリを初期化する

C# の new 演算子を使用して、クラスオブジェクトのディクショナリを初期化できます。new 演算子は、メモリ位置をクラス定義に割り当てるために使用されます。次のコード例は、C# で new 演算子を使用してクラスオブジェクトのディクショナリを初期化する方法を示しています。

using System;
using System.Collections.Generic;

namespace initialize_dictionary {
  public class Person {
    private string name;
    private string email;
    public Person(string n, string e) {
      name = n;
      email = e;
    }
    class Program {
      static void Main(string[] args) {
        Dictionary<int, Person> myDictionary =
            new Dictionary<int, Person> { { 1, new Person("Person 1", "email1") },
                                          { 2, new Person("Person 2", "email2") },
                                          { 3, new Person("Person 3", "email3") } };
      }
    }
  }

文字列データ型の属性 nameemail を使用してクラス Person を宣言しました。name および email クラスメンバーを初期化するコンストラクターを定義しました。C# の new 演算子を使用して、Dictionary<key, value> クラスのコンストラクター内で Person クラスのコンストラクターを呼び出しました。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp Dictionary