将不一致的结构化数据填充到DataTable中

时间:2015-07-30 10:38:34

标签: vb.net datatable

我有这样的文字:

"2221100002","0"
"2221100002","0", "ExtraCol1"
"2221100002","0", "ExtraCol1", "ExtraCol2"

现在我想使用VB.NET将这些内容填充到数据表或2D数组中,如果每行共享相同的列号,这将很容易,在这种情况下是“ ,“分隔符。我无法实现这样的目标:

Col1       Col2      Col3            Col4 
2221100002  0      
2221100002  0      
2221100002  0      ExtraCol1       
2221100002  0      ExtraCol1       ExtraCol2

这可能吗?最重要的是,如果解决方案能够产生良好的性能!

2 个答案:

答案 0 :(得分:0)

您可以拆分输入,然后在插入所有值后停止填充每一行。 这样的事情可能有用:

navMenu = navView.getMenu();
    MenuItem item= navView.getMenu().findItem(R.id.nav_others);
    applyFontToMenuItem(item);

答案 1 :(得分:0)

如果您首先将所有内容存储在列表中并在最后转换为数组,则无需担心数组维度。让.NET为您解决这个问题。

我假设文本位于外部文件中。可以用相同的方式填充DataTable,我在这里使用2D数组作为结果类型。

Private Function GetData(ByVal path As String) As String()()
    Dim results As New List(Of String())

    Dim lines As String() = File.ReadAllLines(path)
    lines.ToList.ForEach(Sub(x) results.Add(x.Split(","c)))

    Return results.ToArray
End Function