如何转换字符串如:
Dim myString = "TEST"
到String数组,有类似的东西:
Dim myStringArray = new String() {"T","E","S","T"}
由于
答案 0 :(得分:1)
位于文件顶部:
Imports System.Linq
然后你可以使用:
Dim myStringArray = myString.Select(Function(c) CStr(c)).ToArray()
答案 1 :(得分:1)
如果你总是每个项目使用一个元素,我建议你得到一个char数组:
Dim myString as String = "TEST"
Dim myCharArray as Char() = myString.ToCharArray() '<= char array "T"c, "E"c, "S"c, "T"c
以字符串形式访问您的字符:
For each c as Char in MyCharArray
c.ToString() '<= your String
Next
或者将char数组转换为字符串数组:
Dim strings as new List(Of String)
For each c as Char in MyCharArray
strings.add(c.ToString())
Next
strings.ToArray()
答案 2 :(得分:1)
决定对最有效的方法进行测试。 MarcinJuraszek的方法,超过10,000,000次迭代,平均花费了大约4000ms。 Fabian Bigler的方法平均花费了大约3200毫秒。
以下方法平均需要约1500毫秒。
Dim myStringArray(myString.Length - 1) As String
For count As Integer = 0 To myString.Length - 1
myStringArray(count) = myString.Substring(count, 1)
Next
同样使用以下内容平均需要约1200毫秒。
Dim myStringArray(myString.Length - 1) As String
For count As Integer = 0 To myString.Length - 1
myStringArray(count) = myString(count)
Next
答案 3 :(得分:0)
简单地说:字符串本身就是Char
的数组。你可以像这样循环一个字符串:
For Each character As Char In "TEST"
Console.WriteLine(character)
Next
或者通过索引访问字符:
For position As Integer = 0 To ("TEST".Length - 1)
Console.WriteLine("TEST"(position))
Next
输出:
T E S T
除非您打算将结果传递给只接受char数组输入的函数(例如ToCharArray()
),否则通常不需要调用String.Split()
。
另外:创建一个string类型的数组,其中每个字符串只有1个字符就是傻了。