4

デバッグの目的で (つまり、配列の内容が正しいことを確認するだけで) VB.NET のコンソールに、潜在的に多次元の配列を出力する簡単な方法はありますか?

Objective-C のバックグラウンドから来て、このNSLog関数は、1 次元配列の場合の次のような適切にフォーマットされた出力を出力します。

myArray {
    0 => "Hello"
    1 => "World"
    2 => "Good Day"
    3 => "To You!"
}

多次元配列の場合も同様です (以下は 2 次元配列出力の例です)。

myTwoDArray {
    0 => {
        0 => "Element"
        1 => "Zero"
    }
    1 => {
        0 => "Element"
        1 => "One"
    }
    2 => {
        0 => "Element"
        1 => "Two"
    }
    3 => {
        0 => "Element"
        1 => "Three"
    }
}
4

1 に答える 1

2

それを行うためのネイティブ(組み込み)関数はないと思いますが、以下の関数は正常に機能するはずです。

Public Shared Sub PrintValues(myArr As Array)
  Dim s As String = ""
  Dim myEnumerator As System.Collections.IEnumerator = myArr.GetEnumerator()
  Dim i As Integer = 0
  Dim cols As Integer = myArr.GetLength(myArr.Rank - 1)
  While myEnumerator.MoveNext()
    If i < cols Then
      i += 1
    Else
      'Console.WriteLine()
      s = s & vbCrLf
      i = 1
    End If
    'Console.Write(ControlChars.Tab + "{0}", myEnumerator.Current)
    s = s & myEnumerator.Current & " "
  End While
  'Console.WriteLine()
  MsgBox(s)
End Sub

非コンソール アプリケーションで関数をテストするために、文字列変数 S を追加しました。これは、コンソール アプリケーションで関数を使用するときに省略できるはずです。

于 2013-03-22T16:04:17.813 に答える