[VB.NET] 「配列の下限の設定」について(その2)

2010年5月4日

それでは、二次元配列にした場合はどうなるのか確認してみた。
具体的には、キャストの箇所で
> 型 'System.Int32[*,*]' のオブジェクトを型 'System.Int32[,]' にキャストできません。
とか言われて怒られることを期待したのだが…

早速実験。

Private Sub Button1_Click(...) Handles Button1.Click
    Dim a As System.Array = _
        System.Array.CreateInstance(GetType(Integer), New Integer() {2, 3}, New Integer() {1, 2})
    Dim b As Integer(,)

    Debug.Print(TypeName(a))
    ' Integer(,) と出力

    b = CType(a, Integer(,))
    ' 例外は出ない。

    Dim value As Integer

    For index1 As Integer = LBound(b, 1) To UBound(b, 1)
        For index2 As Integer = LBound(b, 2) To UBound(b, 2)
            value = index1 * 10 + index2
            b(index1, index2) = value
        Next
    Next

    For index1 As Integer = 1 To 2
        For index2 As Integer = 2 To 4
            value = b(index1, index2)
            Debug.Print(value.ToString)
        Next
    Next

End Sub

通った…どうしてですか… >_<;






カテゴリー: Program, VB.NET

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org