C# 開発

C# オブジェクト初期化子(Dictionaryジェネリック)

準備

(なし)

デザイン

  • フォーム (Form1) にボタン (button1) を配置します。
  • フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (C#)

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var dicMeisai = new Dictionary<int, Meisai>();

            var Meisai1 = new Meisai()
            {
                NCode = "0001",
                NName = "Apple",
            };
            dicMeisai.Add(1, Meisai1);

            var Meisai2 = new Meisai()
            {
                NCode = "0002",
                NName = "Orange",
            };
            dicMeisai.Add(2, Meisai2);

            var Meisai3 = new Meisai()
            {
                NCode = "0003",
                NName = "Grape",
            };
            dicMeisai.Add(3, Meisai3);

            foreach (var item in dicMeisai)
            {
                listBox1.Items.Add($@"{item.Key}:{item.Value.NCode} {item.Value.NName}");
            }
        }
    }

    public class Meisai()
    {
        public string NCode { get; set; }

        public string NName { get; set; }
    }
}

解説

List<T>ジェネリックにオブジェクトを格納する際、オブジェクトの初期化をオブジェクト初期化子を使って初期化しています。

結果

動作確認環境

Visual Studio 2022 Professional (.NET8 C#12)

ログ

初版:2024.03.08 Visual Studio 2022 Professional (C#12)

-C# 開発