配列のリストの代わりにリストのリストを使用しても問題ない場合は、次のようにします。
Private Function LoadFile(ByVal filePath As String) As List(Of List(Of Double))
Dim records As New List(Of List(Of Double))()
For Each line As String In File.ReadAllLines(filePath)
Dim values As New List(Of Double)()
For Each field As String In line.Split(New String() {ControlChars.Tab}, StringSplitOptions.None)
values.Add(Double.Parse(field))
Next
records.Add(values)
Next
Return records
End Function
または、配列のリストでなければならない場合は、次のようにすることができます。
Private Function LoadFileToArrays(ByVal filePath As String) As List(Of Double())
Dim records As New List(Of Double())()
For Each line As String In File.ReadAllLines(filePath)
Dim values As New List(Of Double)()
For Each field As String In line.Split(New String() {ControlChars.Tab}, StringSplitOptions.None)
values.Add(Double.Parse(field))
Next
records.Add(values.ToArray())
Next
Return records
End Function
配列の配列が必要な場合はrecords.ToArray()
、最後の例で、代わりに単に を返すことができます。あなたの質問では、それらをどのように処理したいかが明確ではなかったため、無効または空のフィールド値を処理するためのコードを追加しませんでした。したがって、それを適切に処理するコードを追加する必要があります。そうしないと、このコードはそのような場合に例外をスローします。