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次元配列」の値は「文字列」に変換できません」。

誰かがこれを解決する方法を私に説明できますか?

4

2 に答える 2

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 に答える
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 に答える