配列の初期化 [VB]

Visual Basic ADO.NETデータベースプログラミング

 すぐ使えるADO.NET

配列変数を宣言と同時に、配列変数を初期化できます。1次元配列の初期化、2次元配列の初期化、配列の配列の初期化について紹介します。

配列の初期化

 1次元配列の初期化 

要素の長さのみ初期値に指定した場合

  ' ary2(0) = Nothing, ary2(1) = Nothing, ary2(2) = Nothing
  Dim ary2() As String = New String(2) {}
		

要素の値のみ初期値に指定(要素の長さも決まる)

  ' ary3(0) = "aaa", ary3(1) = "bbbb", ary3(2) = "cc"
  Dim ary3() As String = New String() {"aaa", "bbbb", "cc"}

  ' オブジェクト型の配列に、初期値として文字列を指定
  ' obj(0) = "アイウエオ", obj(1) = "123"
  Dim obj() As Object = New Object() {"アイウエオ", "123"}
		

要素の長さと値を初期値に指定

  Dim ary4() As String = New String(2) {"aaa", "bbbb", "cc"}
		

配列の長さを指定して変数のみ宣言し、後から値を代入(配列境界外の代入に注意、たとえば、次の例では、ary5(3)= "dd" は実行時エラー)

  Dim ary5(2) As String
  ary5(0) = "aaa"
  ary5(1) = "bbbb"
  ary5(2) = "cc"
		
 2次元配列の初期化 

要素の長さのみ初期値に指定した場合

  ' ary2(0,0) = Nothing, ary2(0,1) = Nothing, ary2(0,2) = Nothing,
  ' ary2(1,0) = Nothing, ary2(1,1) = Nothing, ary2(1,2) = Nothing
  Dim ary2(,) As String = New String(1, 2) {}
		

要素の値のみ初期値に指定(要素の長さも決まる)

  ' ary3(0,0) = 1,  ary3(0,1) = 2, ary3(1,0) = 5,
  ' ary3(1,1) = 7,ary3(2,0) = 10, ary3(2,1) = 12
  Dim ary3(,) As Integer = New Integer(,) {{1, 2}, {5, 7}, {10, 12}}
		

要素の長さと値を初期値に指定

  Dim ary4(,) As Integer = New Integer(2, 1) {{1, 2}, {5, 7}, {10, 12}}
		

配列の長さを指定して変数のみ宣言し、後から値を代入(配列境界外の代入は実行時エラー)

  ' ary2(0,0) = Nothing, ary2(0,1) = Nothing, ary2(0,2) = Nothing,
  ' ary2(1,0) = Nothing, ary2(1,1) = Nothing, ary2(1,2) = Nothing
  Dim ary5(1, 2) As String
		
 配列の配列の初期化 

要素の長さのみ初期値に指定した場合(注:トップレベルのみ指定可能)

  ' arry2(0) = Nothing, arry2(1) = Nothing
  Dim arry2()() As Integer = New Integer(1)() {}
		

要素の値のみ初期値に指定(要素の長さも決まる)

  ' arry3(0)(0) = 1, arry3(0)(1) = 2, arry3(0)(2) = 3,
  ' arry3(1)(0) = 7, arry3(1)(1) = 8
  Dim arry3()() As Integer = New Integer()() {New Integer() {1, 2, 3}, New Integer() {7, 8}}
		

トップレベル要素の長さと値の初期値を指定

  Dim arry4()() As Integer = _
  New Integer(1)() {New Integer() {1, 2, 3}, New Integer() {7, 8}}
		

配列の長さを指定して変数のみ宣言し、後から値を代入(配列境界外の代入は実行時エラー)

  Dim arry5(1)() As Integer    ' arry5(0) = Nothing, arry5(1) = Nothing

  ' arry5(0)(0) = 10, arry5(0)(1) = 20, arry5(0)(2) = 30
  ' arry5(1)(0) = 55, arry5(1)(1) = 66
  arry5(0) = New Integer() {10, 20, 30}
  arry5(1) = New Integer() {55, 66}
		
Copyright© すぐ使えるADO.NET. All rights reserved.