配列

だから何度言ったら(ry
最近はリスト使っちゃうでしょうけど古いソースを読んだりするときは引っかかっちゃい気味。

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        '配列定義
        Dim a() = New Integer() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

        '2倍
        For Each v In a
            v *= 2
        Next

        '2倍
        For i = 0 To a.Length - 1
            a(i) *= 2
        Next

        'コピー
        Dim b() = a

        '2倍
        For Each v In b
            v *= 2
        Next

        '2倍
        For i = 0 To b.Length - 1
            b(i) *= 2
        Next

        '2分の1
        Me.HalfByVal(a)
        '2分の1
        Me.HalfByRef(a)

        '最終要素に10000加算
        b(b.Length - 1) += 10000

        'さて答えは??
        Trace.WriteLine(String.Join(",", a))
        Trace.WriteLine(String.Join(",", b))

    End Sub

    '2分の1
    Private Sub HalfByVal(ByVal ary() As Integer)

        For i = 0 To ary.Length - 1
            ary(i) = CInt(ary(i) / 2I)
        Next

    End Sub

    '2分の1
    Private Sub HalfByRef(ByRef ary() As Integer)

        For i = 0 To ary.Length - 1
            ary(i) = CInt(ary(i) / 2I)
        Next

    End Sub