2014-02-18 120 views
0

我有一个数据表,返回一个列名称的位置,这是城市,州和邮政编码的组合,我已经将该列值存储在一个数组中。现在我想拆分数组数据并存储在另一个数组中。 这里是代码,但它不工作。如何拆分vb.net中的数组数据?

Dim eTemp As DataTable = dt.DefaultView.ToTable(True, "Location") 
Dim s() As String 
Dim Count As Integer = PortCodeTemp.Rows.Count - 1 
ReDim s(0 To Count) 
For i = 0 To Count 
    s(i) = PortCodeTemp.Rows(i).Item("Location") 
    For t As Integer = 0 To Count 
     Dim items As String() = s.Split(",".ToCharArray()) 
    Next 
Next 
+0

其中定义PortCodeTemp和eTemp表有什么关系。最后,Split是不是字符串数组的字符串实例的一种方法。此代码不能按原样编译。 – Steve

+0

“不工作”是什么意思?它抛出一个错误(构建或运行时)?它是否产生了错误的数组? – valverij

+0

我不会在同一列中存储城市,州和邮编。这可能会在未来造成很大的麻烦。我建议你总是将它们分开储存。 –

回答

1

你的问题就在这里

Dim items As String() = s.Split(",".ToCharArray()) 

,因为有一个数组没有分割方法。

我想你的意思是分割字符串索引,这是你存储位置的字符串值的位置。

Dim items As String() = s(i).Split(",".ToCharArray()) 

更新

我不知道你为什么做这种方式,但这里是你可以试试。我没有使用数组,而是使用了List(Of String),因此不需要在每个循环中执行一次redim。

Dim allItems As New List(Of String) 
For i = 0 To PortCodeTemp.Rows.Count - 1 
    Dim location as String = PortCodeTemp.Rows(i).Item("Location") 
    allItems.AddRange(location.Split(",".ToCharArray())) 
Next 

因此,allItems应包含所有内容。

+0

真的很感谢你的努力来给予答案和帮助我,但是你能否帮我找到并存储每行的位置列的数组值。 – sona

+0

@son我不完全确定你的意思。 items数组将在一行的位置列中包含不同的值。如果这是你的意思,你可以通过循环并将它们添加到所有行的数组中。 – singularhum

+0

是的,我只想这样做,但每次我只得到一个结果在数组 – sona