我的代码中存在一些问题:
For i = 0 To Split(awal, vbCrLf).Length - 1
For j = 0 To Split(hasil(i), " ").Length - 1
hasil1(j) = hasil(i).Split(" ")
Next j
Next i
它带有错误:
“类型的'1维数组String'的值无法转换为 'string'“在”hasil1(j)= hasil(i).Split(“”)“部分。
有人可以向我解释如何解决这个问题吗?
答案 0 :(得分:0)
您的问题是您正在尝试将数组添加到字符串数组中。
Split()
函数返回Array
,这导致错误。
如果您的目的是获取阵列数组,那么以这种方式制作变量,如果没有,那么在该行上使用Split(" ")
的目的是什么?
修改强>
基于你评论:
您需要再次循环才能完成此操作:
Dim it As Integer
Dim tmp() As String
it = 0
For i = 0 To Split(awal, vbCrLf).Length - 1
For j = 0 To Split(hasil(i), " ").Length - 1
tmp = hasil(i).Split(" ")
For k = 0 To tmp.Length - 1
hasil1(it) = tmp(k)
it += 1
Next
Next j
Next i
我在VB.Net中的技能是生锈的,我不在我的开发机器中,所以试试这个,如果有什么不起作用,请告诉我。
答案 1 :(得分:0)
目前尚不清楚如何初始化你的hasil数组,
但是,您可以使用List(Of String)以这种方式简化代码
Dim hasil() as String = New String() {"abcd 123","efgh 11","ijkl"}
Dim hasil1 as List(Of String) = New List(Of String)()
For i = 0 To hasil.Length - 1
hasil1.AddRange(hasil(i).Split(" "))
Next i
你可以通过以下方式将其转换回字符串数组:
Dim s() as String = hasil1.ToArray()