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

Vb.net NET,在字符串中添加双引号字符,vb.net,Vb.net,每次我向字符串中添加CharW(34)时,它都会添加两个“符号 例如: text = "Hello," + Char(34) + "World" + Char(34) 文本结果 "Hello,""World""" 如何添加一个“符号 e、 g理想的结果是: "Hello,"World"" 我也尝试过: text = "Hello,""World""" 但是我仍然得到了双“符号 而且。添加一个CharW(39),哪个是“符号”只产生一个? e、 g 结果 “Hello,'World'” 为

每次我向字符串中添加
CharW(34)
时,它都会添加两个
符号

例如:

text = "Hello," + Char(34) + "World" + Char(34)
文本结果

"Hello,""World"""
如何添加一个
符号

e、 g理想的结果是:

"Hello,"World""
我也尝试过:

text = "Hello,""World"""
但是我仍然得到了双
符号

而且。添加一个
CharW(39)
,哪个是“符号”只产生一个? e、 g

结果

Hello,'World'”


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

文本中没有双引号。调试器引用文本,使其与源代码中的一样。如果您要在C#中执行相同的操作,则嵌入的新行将使用其源代码格式显示

您可以在源代码中添加语句以在调试窗口中显示值,而不是使用调试器的输出

Diagnostics.Debug.WriteLine(text)

这应该只显示一组引号。

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

text = "Hello," + Chr(34) + "World" + Chr(34)
也可以更简单地写为:

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

,这非常简单 只需使用以下命令:ControlChars.Quote
“您好,”&ControlChars.Quote&“World”&ControlChars.Quote

对不起,我是说“ChrW”谢谢您的帮助,这是我在immidate窗口中看到的,所以如果只是一个,那么我的问题一定在别处!非常感谢。即时窗口还显示VB文字语法,而不仅仅是值。手表和本地人窗口也是如此。你能分辨的方式是,它显示了开始和结束引号字符。这些实际上也不是字符串值的一部分。它们只是VB代码中字符串值表示为文本的方式。我现在理解了,并相应地解决了我的问题。谢谢你的帮助请不要告诉别人编程挑战“很容易”-对他们来说不容易。另外,与公认的解决方案相比,您的解决方案如何变得非常简单?
text = "Hello,""World"""