1

変数のデータ型は文字列です。300 文字を超えるような文字列値が含まれています。その文字列を 150 文字で分割し、vb.net を使用して文字列配列に格納したい

私のコード:

msg = t1("fld_msg")
msg1 = msg.Length
For i = 0 To msg.Length - 1
   strarr = msg.Substring(0, 150)
Next

エラー:

value of type string cant be converted into one dimensional array
4

3 に答える 3

1

Substring は type の値を返しますstring

結果を配列に入れようとしています。

試す:-

strarr(0) = msg.Substring(0,150)
strarr(1) = msg.Substring(150)
于 2012-11-05T10:13:04.383 に答える
1

配列内のセルをインクリメントするにはカウンターが必要です

msg = t1("fld_msg")
msg1 = msg.Length
dim Counter as Integer = 0
For i = 0 To msg.Length - 1 Step 150
   strarr(Counter) = msg.Substring(i, 150)
   Counter += 1
Next
于 2012-11-05T10:14:10.060 に答える
0

コードで必要な修正は、部分文字列の値をan index of array「strarr」ではなく「strarr(i)」に割り当てることto an arrayです。また、のような部分文字列を取ること(0,XX)は正しくありません。インデックス 0 から部分文字列を返すたびに、(i*NumberOfCharactersToInclude,XX)代わりに使用します。しかし、ここでは「XX」も重要です。

例えば、

string が 311 文字で、XX が 150 に固定されている場合、3 番目の部分文字列でエラーが発生します。したがって、これを使用することをお勧めします:(フレームワークが3.5以上であると仮定)

For i As Integer = 0 To len  ' len represents possible no. of substrings
    strarr(i) = New String(msg.Skip(i * 150).Take(150).ToArray)
Next
于 2012-11-05T11:43:51.443 に答える