コレクション初期化子

■List(Of T)、Dictionary(Of T)の初期化子 

 List(Of T)やDictionary(Of T)等のコレクションについて、

 宣言時にFromを付けることで初期化を行うことができる。

 <<LIST>>

 Dim list  = as New List(Of Integer)From{10,20,30}

    (*)受ける変数の型を指定するなら 

 Dim list as List(Of Integer) = as New List(Of Integer)From{10,20,30}

 

 <<DICTIONARY>>

 Dim Dict = as New Dictionary(Of Integer,String) From

                      {{100,"テスト1"},{200,"テスト2"}}

 (*)受ける変数の型を指定するなら 

 Dim Dict as Dictionary(Of Integer,String)= as New Dictionary(Of Integer,String)                   From {{100,"テスト1"},{200,"テスト2"}}

 

■Classを初期化してコレクションに追加

 (*)SampleClassというクラスがあったとして。(Hour,Minute,Secというメンバを持つ) 

 <<LIST>>

 Dim list As List(Of SampleClass) = New List(Of SampleClass) _

 From {
    New SampleClass With {.Hour= 1, .Minute = 21, .Sec = 11},
    New SampleClass With {.Hour= 10, .Minute = 32, .Sec = 14},
    New SampleClass With {.Hour= 23, .Minute = 5, .Sec = 2},
    Nothing
  }

  <<DICTIONARY>>

  Dim dic As Dictionary(Of Integer, SampleClass) New Dictionary(Of Integer,                                                                                                                        SampleClass) 
    From {
      {1, New SampleClass With {.Hour= 1, .Minute = 21, .Sec = 11}},
      {2, New SampleClass With {.Hour= 10, .Minute = 32, .Sec = 14}},
      {3,New SampleClass With {.Hour= 23, .Minute = 5, .Sec = 2}},
      {4, Nothing}
    }