C# 添加双引号将从字符串中删除\项

C# 添加双引号将从字符串中删除\项,c#,C#,我试图在字符串周围添加双引号,但每次这样做都会从字符串中删除第一个\ 我知道我可以直接在字符串中添加双引号,但我想知道该方法不起作用的原因 代码 string SFilename = "\\FilePath"; SFilename = "\"" + SFilename + "\""; Console.WriteLine(SFilename); 输出 "\FilePath" 这是因为您在原始字符串中的\上转义。 你需要写: string SFilename = "\\\\FilePath";

我试图在字符串周围添加双引号,但每次这样做都会从字符串中删除第一个
\

我知道我可以直接在字符串中添加双引号,但我想知道该方法不起作用的原因

代码

string SFilename = "\\FilePath";
SFilename = "\"" + SFilename + "\"";
Console.WriteLine(SFilename);
输出

"\FilePath"

这是因为您在原始字符串中的
\
上转义。 你需要写:

string SFilename = "\\\\FilePath";
或者您可以简单地使用此选项(将产生相同的结果):


\
是一个转义序列。您可以使用
\
添加单个
\
,也可以使用
@
将字符串环绕以逐字声明

string SFilename = @"\\FilePath";
SFilename = "\"" + SFilename + "\"";
Console.WriteLine(SFilename);

您可以使用常量字符串和@:

const string quote = @"""";
string SFilename = @"\\FilePath";
SFilename = quote + SFilename + quote;
Console.WriteLine(SFilename);

因为它将(
\`)视为转义序列。因此,它打印出一个
`您的代码正在工作,`\`被简单地解释为`\`提示:在第一行之后打印
SFilename
。。。“这不是你想的,”琼斯凯,谁能和你争辩呢,先生!。但是在第一行之后是\\FilePath是否有任何方法可以在代码中添加双引号并更改字符串?@Alexander您可以在字符串之前使用
@
符号当您想在字符串中添加引号时,您需要小心,但在使用@时,需要使用另一个引号将其转义。例如,
string SFileName=@“\\FilePath”注意它已经是一个文本字符串。你要找的术语是逐字逐句的。
const string quote = @"""";
string SFilename = @"\\FilePath";
SFilename = quote + SFilename + quote;
Console.WriteLine(SFilename);