0

我的代码有一些问题:

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

它带有错误:

"hasil1(j) = hasil(i).Split(" ") " 部分中的“'1-dimensional array of String' 类型的值不能转换为 'String'”。

任何人都可以向我解释如何解决这个问题,好吗?

4

2 回答 2

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() 
于 2012-04-30T08:39:25.913 回答
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 中的技能已经生锈了,而且我不在我的开发机器上,所以试试这个,如果有什么不起作用,请告诉我。

于 2012-04-30T07:02:57.117 回答