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

子字符串返回一个类型的值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(i)”而不是to an array“strarr”。也采用子字符串 like(0,XX)是不正确的。每次它会从索引 0 返回一个子字符串,请(i*NumberOfCharactersToInclude,XX)改用。但这里的“XX”也很重要。

例如,

如果字符串有 311 个字符且 XX 固定为 150,则会导致第三个子字符串出错。所以我建议你用这个:(假设框架是 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 回答