如何在C#中使用分隔符?

时间:2014-03-24 05:39:45

标签: c# syntax-error

start.FileName = @"C:/Program Files/xyz/asd -config \"C:/Users/xyz/qwe\""

当我使用上面的代码时,它会在

处给出错误

closing delimiter “\”unexpected character

3 个答案:

答案 0 :(得分:2)

字符串说明符前面的@符号指示C#编译器对字符串使用不同的转义机制,有效地忽略所有标准转义序列并将它们呈现为文本。在字符串说明符的替代形式中使用的唯一转义序列是""转义序列,它在输出中插入单个"字符。

尝试使用以下字符串:

start.FileName = @"C:/Program Files/xyz/asd -config ""C:/Users/xyz/qwe""";

或者:

start.FileName = "C:/Program Files/xyz/asd -config \"C:/Users/xyz/qwe\"";

任何一个都有效。或者,因为您的目标是Windows平台:

start.FileName = @"C:\Program Files\xyz\asd -config ""C:\Users\xyz\qwe""";

答案 1 :(得分:0)

http://msdn.microsoft.com/en-us/library/362314fe.aspx

逐字符串的优点是不处理转义序列,这使得它易于编写,例如,完全限定的文件名: C#

@"c:\Docs\Source\a.txt"  // rather than "c:\\Docs\\Source\\a.txt"

要在@ -quoted字符串中包含双引号,请将其加倍:

@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.

答案 2 :(得分:-1)

string line = "C:/Program Files/xyz/asd -config \"C:/Users/xyz/qwe**\"";

Console.WriteLine(line);