我正在Visual c#2010中编写一段代码来生成一个字符串。该字符串需要包含反斜杠\和语音标记"。
我尝试过以下方法:
string StringOutputVariable;
string StringVariable = "hello world";
StringOutputVariable = "\"C:\\Program Files\\some program\\some program.exe\" " + StringVariable;
和
string StringOutputVariable;
string StringVariable = "hello world";
StringOutputVariable = @"""C:\Program Files\some program\some program.exe"" " + StringVariable;
但是他们都将转义字符放在输出字符串中:
\" C:\\ Program Files \\ some program \\ some program.exe \"你好世界
和
\" C:\\ Program Files \\ some program \\ some program.exe \"你好世界
我希望它输出的是:
" C:\ Program Files \ some program \ some program.exe"你好世界
为什么我的代码会将转义字符输出到字符串中?
提前致谢 格雷厄姆
答案 0 :(得分:2)
StringOutputVariable = "\"" +
@"C:\Program Files\some program\some program.exe\" + "\" " + StringVariable;
答案 1 :(得分:2)
我假设您正在查看调试器中的字符串。调试器将显示字符串,就好像它们是字符串文字一样,即引号和反斜杠转义。字符串就像你想要的那样。
只需将字符串打印到控制台或将其放在表单上即可轻松检查。
答案 2 :(得分:1)
试试这个:
string path = @"C:\Program Files\some program\some program.exe";
string result = string.Format("{0}{1}{0} hello world", "\"", path);
// you can check it: MessageBox.Show(result);
答案 3 :(得分:1)
调试器显示字符串string literals
。
试试这个;
string StringOutputVariable;
string StringVariable = "hello world";
StringOutputVariable = "\"" + @"C:\Program Files\some program\some program.exe\" + "\"" + StringVariable;
Console.WriteLine(StringOutputVariable);
这是DEMO
。
输出是:
"C:\Program Files\some program\some program.exe\"hello world