配列編です。いろいろ気持ち悪い。
Module Module1 Sub Main() End Sub Sub Array1() ' 1次元配列の宣言 括弧はどっちでも同じ Dim arrA As String() = Nothing Dim arrB() As String = Nothing ' 配列を決まった長さで初期化する方法 ※すべて要素数6で初期化 Dim arrC As String() = New String(5) {} Dim arrD() As String = New String(5) {} ' 変数名に括弧が付く場合は、そのまま初期化が可能 Dim arrE(5) As String ' どちらも型推論できるけど、括弧の有無が気持ち悪い Dim arrF = New String(5) {} Dim arrG() = New String(5) {} ' 配列を要素で初期化する Dim arrH As String() = New String() {"1", "2", "3"} Dim arrI As String() = {"1", "2", "3"} Dim arrJ = {"1", "2", "3"} Dim arrK() As String = New String() {"1", "2", "3"} Dim arrL() As String = {"1", "2", "3"} Dim arrM() = {"1", "2", "3"} 'いろんな代入 arrA = New String(1) {} '要素数2 arrA = New String(0) {} '要素数1 arrA = New String(-1) {} '要素数0 (キモッ arrA = New String() {} '要素数0 arrB = New String(1) {"1", "2"} arrB = New String() {"1", "2"} arrB = {"1", "2"} End Sub Sub Array2() ' 2次元配列の宣言 Dim arrA As String(,) = Nothing Dim arrB(,) As String = Nothing ' 初期化 Dim arrC As String(,) = New String(1, 2) {} Dim arrD = New String(1, 2) {} Dim arrE(,) As String = New String(1, 2) {} Dim arrF(,) = New String(1, 2) {} Dim arrG(1, 2) As String Dim arrH As String(,) = New String(,) {{"1", "2", "3"}, {"a", "b", "c"}} 'これは2次元配列扱いだそうです。 Dim arrI As String(,) = {{"1", "2", "3"}, {"a", "b", "c"}} Dim arrJ = {{"1", "2", "3"}, {"a", "b", "c"}} End Sub Sub ArrayOfArray() ' 多段配列の宣言 Dim arrA As String()() = Nothing Dim arrB()() As String = Nothing ' 初期化 Dim arrC As String()() = New String(1)() {} Dim arrD = New String(1)() {} Dim arrE()() = New String(1)() {} Dim arrF(1)() As String ' 要素で初期化 ' New String()は省略できない 2次元配列との兼ね合い? Dim arrH As String()() = New String()() {New String() {"1", "2"}, New String() {"a", "b", "c"}} Dim arrI = {New String() {"1", "2"}, New String() {"a", "b", "c"}} End Sub End Module
[…] ↓過去エントリー https://yone64.wordpress.com/2013/02/14/cer%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEvb-net%E8%A6%9A%E6%9B%… […]
ピンバック by C#erのためのVB.NET覚書(まとめ | 泥庭 — 2014年2月10日 @ 5:39 午後