VB.NET,在字符串中添加双引号字符

Har*_*vey 3 vb.net

每次我添加CharW(34)一个字符串,它会添加两个""符号

例:

text = "Hello," + Char(34) + "World" + Char(34)
Run Code Online (Sandbox Code Playgroud)

文字结果

"Hello,""World"""
Run Code Online (Sandbox Code Playgroud)

我怎样才能添加一个"符号?

例如,理想的结果是:

"Hello,"World""
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

text = "Hello,""World"""
Run Code Online (Sandbox Code Playgroud)

但我仍然得到双"符号

此外.添加a CharW(39),这是一个'符号只产生一个?例如

text = "Hello," + Char(39) + "World" + Char(39)
Run Code Online (Sandbox Code Playgroud)

结果

"Hello,'World'"

为什么这只对双引号表现异常?我怎样才能添加一个而不是两个?

Ste*_*art 9

假设你的意思是旧Chr函数而不是Char(它是一个类型).它不会添加两个引号字符.它只增加了一个.如果将字符串输出到屏幕或文件,您会看到它只添加一个.但是,Visual Studio调试器显示值的VB字符串 - 文字表示,而不是原始字符串值本身.因为在字符串中转义双引号字符的方法是连续放两个,这就是显示它的方式.例如,您的代码:

text = "Hello," + Chr(34) + "World" + Chr(34)
Run Code Online (Sandbox Code Playgroud)

也可以简单地写成:

text = "Hello,""World"""
Run Code Online (Sandbox Code Playgroud)

因此,调试器只是在VB语法中显示它,就像在C#中一样,调试器会将值显示为"Hello, \"World\"".