在C#中的逐字字符串文字(@"foo")中,反斜杠不被视为转义,因此执行"获取双引号"不起作用.有没有办法在逐字字符串文字中获得双引号?
这可以理解为不起作用:
string foo = @"this \"word\" is escaped";
Run Code Online (Sandbox Code Playgroud) 我试图将多个路径作为参数传递给控制台应用程序,但我收到"路径中的非法字符"错误.似乎有些东西误认为"C:\test\"转义双引号的参数的最后两个字符.
例如,如果我在C#中创建一个新的空控制台应用程序,如下所示:
static void Main(string[] args)
{
Console.WriteLine(args[0]);
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
并在项目属性 - >调试下我添加一个命令行参数,如下所示:
然后我的输出看起来像这样:
如果正在评估/取消转义该值,为什么不\t成为标签?
如果该值未被评估/未转义,为什么会\"成为双引号?
(注意:我知道我可以解决这个问题,例如,修剪尾部反斜杠等.我正在寻求帮助,理解为什么参数似乎被部分评估)