VB.NET インスタンスの初期値(オブジェクト初期化子)

VB.NETのインスタンス化した際に初期値を設定するサンプルです。
オブジェクト初期化子と呼ばれます。

目次

説明 オブジェクト初期化子
サンプル クラスをインスタンス化する時に初期値も設定する
  クラスを複数のデータとしてリストに入れる

オブジェクト初期化子

Dim 変数 = New クラス With {.プロパティ = "値",.プロパティ = "値"・・・}

 

クラスをインスタンス化する時に初期値も設定する

 クラスをインスタンス化する時に初期値も設定するサンプルです。

Public Class Employee
    Public Property id As String
    Public Property name As String
    Public Property romaji As String
End Class

Module Module1
    Sub Main()
        Dim test1 = New Employee With {.id = "1", .name = "鈴木", .romaji = "suzuki"}

        Console.WriteLine(test1.id) '1
        Console.WriteLine(test1.name) '鈴木
        Console.WriteLine(test1.romaji) 'suzuki

    End Sub
End Module

1~5行目はクラスです。
2~4行目はプロパティです。

9行目は、オブジェクト初期化子です。NewでEmployeeクラスをインスタンス化し、with以下でプロパティに値を設定しています。
11~13行目はそれぞれ設定した値を表示しています。

 

クラスを複数のデータとしてリストに入れる

クラスを複数のデータとしてリストに入れるサンプルです。

Public Class Employee
    Public Property id As String
    Public Property name As String
    Public Property romaji As String
End Class

Module Module1
    Sub Main()
        Dim list1 As New List(Of Employee)

        list1.Add(New Employee With {.id = "1", .name = "鈴木", .romaji = "suzuki"})
        list1.Add(New Employee With {.id = "2", .name = "田中", .romaji = "tanaka"})
        list1.Add(New Employee With {.id = "3", .name = "佐藤", .romaji = "sato"})

        Console.WriteLine(list1(0).name) '鈴木
        Console.WriteLine(list1(1).name) '田中
        Console.WriteLine(list1(2).name) '佐藤

    End Sub
End Module

9行目は、リストのインスタンスを生成しています。
11~13行目は、オブジェクト初期化子を使用してクラスのインスタンスを生成してプロパティに値をセットして、インスタンスをリストにセットしています。

15~17行目は、リストにセットしたnameの値を表示しています。

関連の記事

VB.NET入門 クラスの仕組みとサンプル
VB.NET クラスの継承の仕組みとサンプル
VB.NET コンストラクタのサンプル

△上に戻る