保存从 0 到 65535 的值范围内的无符号 16 位(2 字节)代码点序列。 每个码位或字符代码表示单个 Unicode 字符。 字符串可以包含 0 到大约 20 亿 (2 ^ 31) Unicode 字符。
注解
使用 String
数据类型可保存多个字符,而无需数组管理开销 Char()
(元素数组 Char
)。
默认值 String
为 Nothing
(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)
由另一个组件创建的字符串可能填充前导空格或尾随空格。 如果收到此类字符串,可以使用Trim和LTrimRTrim函数删除这些空格。
有关字符串作的详细信息,请参阅 字符串。
编程提示
负数。 请记住,保留的
String
字符是无符号的,不能表示负值。 在任何情况下,不应使用String
来保存数值。互操作注意事项。 如果要与未为 .NET Framework 编写的组件(例如自动化或 COM 对象)相交,请记住,字符串字符在其他环境中具有不同的数据宽度(8 位)。 如果要将 8 位字符的字符串参数传递给此类组件,请将其声明为
Byte()
元素数组Byte
,而不是String
在新的 Visual Basic 代码中声明它。类型字符。 将标识符类型字符
$
追加到任何标识符将强制它添加到String
数据类型。String
没有文本类型字符。 但是,编译器将括在引号 (" "
) 中的文字视为String
。Framework 类型。 .NET Framework 中的相应类型是 System.String 类。