将字符串转换为字符数组

8
假设我有一个像这样的字符串。
Dim str As String = "code"

我需要将这个字符串拆分成字符数组,就像这样:
{"c", "o", "d", "e"}

我该如何做这个?
5个回答

19
每个字符串都是一个隐式的字符数组。因此,您可以通过以下方式获取第三个字符:
Dim char3 = str(2)

编辑:为了完整起见,您也可以使用String.ToCharArray将字符串实例转换为新的char-array实例。使用ToCharArray的核心优势是你得到的char数组是可变的,这意味着你实际上可以更改每个单独的字符。

请注意,您还可以使用 LINQ。例如,如果您想要一个字符串的前三个字符:

Dim firstThree As Char() = str.Take(3).ToArray()

这就是我想知道的。:D 我现在明白了。谢谢。 - Isuru

9
dim chars as Char() = str.ToCharArray()

刚试了一下,也可以。 :) 多知道一些方法总是好的。谢谢。 - Isuru

1

参考@AlexeiLevenkov,

You can use String.ToCharArray to convert it to array of characters, or use ToArray if you like LINQ more:

Dim delimStr As String = " ,.:"
Dim delimiter As Char() = delimStr.ToCharArray()

"foo".ToArray()

我添加了上面的替代方案,因为重复的问题很快就会关闭;值得保留LINQ的替代方案。


1

我进行了一些基准测试,发现ToCharArray比LINQ的ToArray快约30倍。


1

尝试:

Dim str As String = "code"
' Use For Each loop on string.
For Each element As Char In str 
Console.WriteLine(element)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接