VB,如何解决这个错误

时间:2012-04-30 06:51:06

标签: vb.net visual-studio-2008

我的代码中存在一些问题:

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(“”)“部分。

有人可以向我解释如何解决这个问题吗?

2 个答案:

答案 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()