2015-09-07 40 views
0

我有一個交錯列表保存爲一個文本文件,我需要將該文件讀入多維數組,其中標題處於第一級,其下的所有行都是第二個水平。將Staggerd List讀入多維數組

EX:

Greetings 
    Hello 
    How are you 
    Have a great day 
Needs 
    Help 
    I need a drink 

陣列(0,0)=問候

陣列(0,1)=你好

陣列(0,2)=你怎麼樣

如何循環訪問此信息並知道何時到達第二欄?

+0

我猜'Array(1,0)= Needs'? –

+0

可能當行讀取'StartsWith(「」)'(或者'LineRead <> LineRead.Trim'),但由於這看起來像查找表,DIctionary或List可能是一個更好的容器 – Plutonix

+0

我怎麼會把它成一個列表,具有相同的子類別? – Dman

回答

1

爲此,使用列表而不是數組會更容易。但是,下面的代碼將創建一個代表您的類別的不規則數組。

Dim lists As New List(Of String()) 
Dim currentGroup As New List(Of String) 
For Each line As String In IO.File.ReadAllLines(filePath) 
    If line.StartsWith(" ") Then 
     currentGroup.Add(line.Trim) 
    Else 
     If currentGroup.Count > 0 Then lists.Add(currentGroup.ToArray) 
     currentGroup = New List(Of String) From {line} 
    End If 
Next 
If currentGroup.Count > 0 Then lists.Add(currentGroup.ToArray) 
Dim myArray()() As String = lists.ToArray 
+0

這個工作,但最後一組沒有被添加到列表,因爲它到達文件的末尾。如果當前組中有項目,則需要在完成文件後將其添加到 – Dman

+0

@Dmandy我編輯了答案以糾正該問題(添加最後一條語句)。我認爲你必須使用代碼的原始版本。 – Blackwood