未分類

C# 匿名データ型を扱う

準備

(なし)

デザイン

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

サンプルコード (C#)

// 名前空間の追加
// (なし)

// クラスの宣言
public class Test1
{
  private int _EmpNo;
  private string _EmpName;
  
  public int EmpNo
  {
    get { return _EmpNo; }
    set { _EmpNo = value; }
  }
  
  public string EmpName
  {
    get { return _EmpName; }
    set { _EmpName = value; }
  }
}

// コード
private void button1_Click(object sender, EventArgs e)
{
  var t1 = new Test1 { EmpNo = 1, EmpName = "Hanako Yamada" };
  listBox1.Items.Add($"{t1.EmpNo}, {t1.EmpName}");
  
  var t2 = new { EmpNo = 2, EmpName = "Tanaka Ichiro" };
  listBox1.Items.Add($"{t2.EmpNo}, {t2.EmpName}");
}

解説

型推論を使用して、クラスをインスタンス化する際に匿名データ型を使用することができます。C# では var と new の組み合わせを、VB.NET では型指定の無い Dim と New With の組み合わせを使用します。インスタンス化の際、{...} の中で直接初期データを渡すことができます。この機能が匿名データ型と呼ばれるようです。

インスタンス化の際、クラス名を省略することもできますが、省略すると、匿名データ型を指定する際、インテリセンスが機能しません。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類