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
变量中的单个字符上使用 IsDigit 和 IsPunctuation 等方法来确定其 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、LTrim 和 RTrim 函数删除这些空格。
有关字符串操作的信息,请参阅字符串。
编程提示
负数。 请记住,
String
包含的字符是无符号的,不能表示负值。 在任何情况下,不应使用String
来保存数值。互操作注意事项。 如果与不是为 .NET Framework 编写的组件(如自动化或 COM 对象)交互,请记住,在其他环境中字符串字符具有不同的数据宽度(8 位)。 如果将一个 8 位字符的字符串自变量传递给此类组件,请在新的 Visual Basic 代码中将其声明为
Byte()
(Byte
元素数组)而不是String
。类型字符。 将标识符类型字符
$
追加到任何标识符会将其强制转换为String
数据类型。String
不具有文本类型字符。 但是,编译器将用引号引起来 (" "
) 的文本视为String
。Framework 类型。 .NET Framework 中的对应类型是 System.String 类。