在VB.NET中将char数组转换为字符串数组

tj_*_*ush 3 vb.net arrays

我试图将一个字符数组转换为一个字符串数组(每个字符都变成一个字符串),因为我需要它成为一个字符串数组,以便稍后在程序中对该数组进行一些处理。这是我正在使用的代码:

Dim inputexpression As String = UCase(txtInput.Text)
Dim arrinputexpressionchar() As Char = inputexpression.ToCharArray()
Dim arrinputexpression() As String

For i = 0 To arrinputexpressionchar.Length
    arrinputexpression(i) = Char.ToString(arrinputexpressionchar(i))
Next
Run Code Online (Sandbox Code Playgroud)

但是,这引发了“未处理NullReferenceException”(对象引用未设置为对象的实例)错误。为什么此代码不起作用?

Tim*_*ter 5

您已经声明但尚未初始化字符串数组。

您可以使用LINQ:

Dim charsAsStringArray = inputexpression.
    Select(Function(c) c.ToString()).
    ToArray()
Run Code Online (Sandbox Code Playgroud)

这是非linq方式:

Dim strArray(inputexpression.Length - 1) As String
For i = 0 To charArray.Length - 1
    strArray(i) = inputexpression(i).ToString()
Next
Run Code Online (Sandbox Code Playgroud)