字符串数据类型 (Visual Basic)

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

注解

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

默认值 StringNothing (null 引用)。 请注意,这与空字符串(值 "")不同。

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 位字符的字符串参数传递给此类组件,请将其声明为 Byte()元素数组 Byte ,而不是 String 在新的 Visual Basic 代码中声明它。

  • 类型字符。 将标识符类型字符 $ 追加到任何标识符将强制它添加到 String 数据类型。 String 没有文本类型字符。 但是,编译器将括在引号 (" ") 中的文字视为 String

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

另请参阅