String 数据类型 (Visual Basic)

保存 16 位(2 字节)无符号码位的序列,值的范围为 0 到 65535。 每个码位或字符代码表示单个 Unicode 字符。 字符串可以包含 0 到大约 20 亿 (2^31) Unicode 字符。

注解

使用String数据类型可以保存多个字符,而无需 Char() 的数组管理开销,即 Char 元素的数组。

String 的默认值为 Nothing(空引用)。 请注意,此值与空字符串(值 "")不同。

Unicode 字符

Unicode 的前 128 个码位 (0–127) 对应于标准美国键盘上的字母和符号。 前 128 个码位与 ASCII 字符集定义的码位相同。 第二个 128 码位 (128–255) 表示特殊字符,例如拉丁字母、重音、货币符号和小数。 Unicode 使用剩余的码位 (256-65535) 各种符号来表示各种符号。 这包括全球文本字符、音调符号以及数学和技术符号。

可以在 String 变量中的单个字符上使用 IsDigitIsPunctuation 等方法来确定其 Unicode 分类。

格式要求

必须将 String 文本括在引号内 (" ")。 如果必须包含引号作为字符串中的一个字符,请使用两个连续的引号 ("")。 下面的示例对此进行了演示。

Dim j As String = "Joe said ""Hello"" to me."  
Dim h As String = "Hello"  
' The following messages all display the same thing:  
' "Joe said "Hello" to me."  
MsgBox(j)  
MsgBox("Joe said " & """" & h & """" & " to me.")  
MsgBox("Joe said """ & h & """ to me.")  

请注意,表示字符串中引号的连续引号与 String 文本开头和结尾的引号无关。

字符串操作

将字符串分配给 String 变量后,该字符串不可变,这意味着不能更改其长度或内容。 以任何方式更改字符串时,Visual Basic 创建一个新字符串并放弃前一个字符串。 然后 String 变量指向新字符串。

可以使用各种字符串函数来操作 String 变量的内容。 下面的示例演示了 Left 函数

Dim S As String = "Database"  
' The following statement sets S to a new string containing "Data".  
S = Microsoft.VisualBasic.Left(S, 4)  

另一个组件创建的字符串可能用前导空格或尾随空格填充。 如果收到此类字符串,可以使用 TrimLTrimRTrim 函数删除这些空格。

有关字符串操作的信息,请参阅字符串

编程提示

  • 负数。 请记住,String 包含的字符是无符号的,不能表示负值。 在任何情况下,不应使用 String 来保存数值。

  • 互操作注意事项。 如果与不是为 .NET Framework 编写的组件(如自动化或 COM 对象)交互,请记住,在其他环境中字符串字符具有不同的数据宽度(8 位)。 如果将一个 8 位字符的字符串自变量传递给此类组件,请在新的 Visual Basic 代码中将其声明为 Byte()Byte 元素数组)而不是 String

  • 类型字符。 将标识符类型字符 $ 追加到任何标识符会将其强制转换为 String 数据类型。 String 不具有文本类型字符。 但是,编译器将用引号引起来 (" ") 的文本视为 String

  • Framework 类型。 .NET Framework 中的对应类型是 System.String 类。

另请参阅