C#字符转义没有得到什么';这是意料之中的

C#字符转义没有得到什么';这是意料之中的,c#,visual-studio,C#,Visual Studio,执行此C#行后: 我希望x等于: This is a "Test" 但事实是: This is a \"Test\" 我做错了什么?没有逃脱序列,我尝试工作。我是在Visual Studio中执行此操作的,因此我想知道是否有一些设置是我无意中更改的,或者我是否做得不对?在代码中,x确实包含您想要的字符串,但转义序列可能仍会显示在IDE中,具体取决于您查看它的位置(例如,在调试器中)。在应用程序中,例如,使用Console.WriteLine(x)对于输出,字符串将不带反斜杠显示。当您执行Co

执行此C#行后:

我希望x等于:

This is a "Test"
但事实是:

This is a \"Test\"

我做错了什么?没有逃脱序列,我尝试工作。我是在Visual Studio中执行此操作的,因此我想知道是否有一些设置是我无意中更改的,或者我是否做得不对?

在代码中,
x
确实包含您想要的字符串,但转义序列可能仍会显示在IDE中,具体取决于您查看它的位置(例如,在调试器中)。在应用程序中,例如,使用
Console.WriteLine(x)
对于输出,字符串将不带反斜杠显示。

当您执行
Console.WriteLine(x)时会发生什么?它打印的是什么?输出行是打印的还是在调试器中?我敢打赌,您在调试器中看到的字符串对您来说是“有益的”转义字符串。在控制台上打印:反斜杠不在那里。或者查看
Length
属性,它将显示它是17,而不是19。您将它们存储为字符串。如果您希望它是一个字符串并读取:“这是一个“测试”。请使用单引号连接它们。string x=“这是一个”+“+”测试”+”"';@jmag在调试器中的外观将与他们已经在做的相同。啊,谢谢。我认为IDE是一个因素。很高兴知道!不,他只是想找我谈一件与这个问题无关的事。
This is a \"Test\"