Arrays 将两个变量合并为一个变量

Arrays 将两个变量合并为一个变量,arrays,vb.net,concatenation,Arrays,Vb.net,Concatenation,我正在加载一个txt文件,我可以使用分割函数将每一行分割成一个数组,使用|作为分隔符 但是,数组中的每一行都有不同数量的元素,因此我无法创建二维数组 我希望能够以某种方式将文本字符串和整数组合成一个新变量 Dim i As Integer = 0 Dim "row" & i As String = StringinRowi 给予 row0 = StringinRow0 然后循环这个,循环次数和我找到的文本文件中的行数一样多 这可能吗?二维数组可能不起作用,但二维列表

我正在加载一个txt文件,我可以使用分割函数将每一行分割成一个数组,使用|作为分隔符

但是,数组中的每一行都有不同数量的元素,因此我无法创建二维数组

我希望能够以某种方式将文本字符串和整数组合成一个新变量

    Dim i As Integer = 0

    Dim "row" & i As String = StringinRowi
给予

row0 = StringinRow0
然后循环这个,循环次数和我找到的文本文件中的行数一样多


这可能吗?

二维数组可能不起作用,但二维列表可以起作用。宣布名单

Dim data As New List(Of List(Of String))
然后施放分割返回。托利斯

data.Add(readlinestring.Split("|"c).ToList)
现在,每一行都将是数据的索引,并将包含一个也被索引的字符串列表。 由于所有内容都已编制索引,因此无需对变量进行编号。

使用数据表。他们太棒了

Imports System.IO

Public Class Form1

  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim dtbData As New DataTable

    Dim strFilename As String = "C:\Junk\Junk.txt"
    Using sr As New StreamReader(strFilename)
      Do Until sr.EndOfStream
        Dim strLine As String = sr.ReadLine()
        Dim strFields() As String = Split(strLine, "|")
        For i As Integer = dtbData.Columns.Count To strFields.GetUpperBound(0) 'add new columns if necessary
          dtbData.Columns.Add("Column" + i.ToString)
        Next i
        dtbData.Rows.Add(strFields)
      Loop
      MsgBox("Row 2 Column 1 = " & dtbData.Rows(1).Item("Column1").ToString)
    End Using

  End Sub
End Class

我已经编辑了你的标题。请看,如果一致意见为“否”,则不应该。您已经将i声明为整数并将其重新定义为字符串?不,不是您想要的方式。您可以提供文本文件中的数据示例吗?如果愿意,您可以使用整数值而不是第1列。请记住从0开始计数,而不是从1开始。最好使用Do-Until sr.EndOfStream循环,而不是每次都检查字符串