2013-03-14 167 views
4

有一種簡單的方法來打印一個數組,這是潛在的多維度,到控制檯在VB.NET用於調試的目的(即只檢查的是內容數組是正確的)。打印(多)維數組的Visual Basic

從一個Objective-C背景中的NSLog函數打印一個相當好格式化輸出,諸如用於一個一維陣列以下編輯:

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

和用於多維數組相似(以下是一個二維數組輸出的例子):

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

很好的問題!這將是一個很好的選擇! – 2013-03-14 08:00:10

+0

微軟決定此功能是不夠重要,包括在.NET框架。不知道他們在吸菸。 – 2013-03-22 16:06:11

回答

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,你應該能夠當你在一個控制檯應用程序中使用的功能省略。