我正在尝试在字符串周围添加双引号,但是当我执行此操作时从字符串中删除第一个\
。
我知道我可以直接在字符串中添加双引号,但我想知道为什么这种方法不起作用。
代码
string SFilename = "\\FilePath";
SFilename = "\"" + SFilename + "\"";
Console.WriteLine(SFilename);
输出
"\FilePath"
答案 0 :(得分:3)
那是因为你在原始字符串中的\
上逃脱了。
你需要写:
string SFilename = "\\\\FilePath";
或者你可以简单地使用它(会产生相同的结果):
string SFilename = @"\\FilePath";
答案 1 :(得分:2)
\
是转义序列。您可以使用\\
添加单个\
,也可以使用@
将字符串括起来将其声明为逐字。
string SFilename = @"\\FilePath";
SFilename = "\"" + SFilename + "\"";
Console.WriteLine(SFilename);
答案 2 :(得分:1)
您可以使用const字符串和@:
const string quote = @"""";
string SFilename = @"\\FilePath";
SFilename = quote + SFilename + quote;
Console.WriteLine(SFilename);