【问题标题】:Converting char array into string array in VB.NET在VB.NET中将char数组转换为字符串数组
【发布时间】:2013-10-28 14:55:17
【问题描述】:

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

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

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

【问题讨论】:

  • 错误是否说明错误发生在哪一行?
  • For 循环中不需要i += 1

标签: arrays vb.net


【解决方案1】:

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

你可以使用 LINQ:

Dim charsAsStringArray = inputexpression.
    Select(Function(c) c.ToString()).
    ToArray()

这是非 linq 方式:

Dim strArray(inputexpression.Length - 1) As String
For i = 0 To charArray.Length - 1
    strArray(i) = inputexpression(i).ToString()
Next

【讨论】:

  • 第一行需要什么? inputexpression(index) 应该够用了吧?
  • 什么第一行?第一个代码 sn-p 只有一行,第二个(“non-Linq”)有第一行:Dim charArray = inputexpression.ToCharArray()
  • @igrimpe:好点,编辑了我的答案。那只是一个复制粘贴问题。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
  • 2015-11-30
  • 2016-08-13
  • 2011-10-04
  • 2013-04-25
  • 2012-11-04
相关资源
最近更新 更多