有时,获取有关字符串中的字符以及这些字符在字符串中的位置的数据非常有用,例如在解析字符串时。 此示例展示如何通过调用字符串的 ToCharArray 方法来获取字符串中字符的数组。

此示例展示如何将字符串拆分为 Char 数组,以及如何将字符串拆分为其 Unicode 文本字符的 String 数组。 此区别的原因在于 Unicode 文本字符可由两个或更多 Char 字符组成(例如代理项对或组合字符序列)。 有关详细信息,请参阅 TextElementEnumerator Unicode标准

Dim testString1 As String = "ABC"
' Create an array containing "A", "B", and "C".
Dim charArray() As Char = testString1.ToCharArray

将字符串拆分为其 Unicode 文本字符更加困难,但如果需要字符串的视觉表示形式的相关信息,这是必需的。 此示例使用 SubstringByTextElements 方法获取构成字符串的 Unicode 文本字符的相关信息。

' This string is made up of a surrogate pair (high surrogate
' U+D800 and low surrogate U+DC00) and a combining character 
' sequence (the letter "a" with the combining grave accent).
Dim testString2 As String = ChrW(&HD800) & ChrW(&HDC00) & "a" & ChrW(&H300)
' Create and initialize a StringInfo object for the string.
Dim si As New System.Globalization.StringInfo(testString2)
' Create and populate the array.
Dim unicodeTestArray(si.LengthInTextElements - 1) As String
For i As Integer = 0 To si.LengthInTextElements - 1
    unicodeTestArray(i) = si.SubstringByTextElements(i, 1)
  • Chars[]
  • System.Globalization.StringInfo
  • 如何:访问字符串中的字符
  • Visual Basic 中字符串和其他数据类型间的转换
  •