3

我正在 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\" hello world

\"C:\\Program Files\\some program\\some program.exe\" hello world

我希望它输出的是:

"C:\Program Files\some program\some program.exe" 你好世界

为什么我的代码将转义字符输出到字符串中?

提前感谢格雷厄姆

4

4 回答 4

2
StringOutputVariable = "\"" +
        @"C:\Program Files\some program\some program.exe\" + "\" " + StringVariable;
于 2013-01-24T12:23:51.503 回答
2

我假设您正在查看调试器中的字符串。调试器将显示字符串,就好像它们是字符串文字一样,即引号和反斜杠已转义。字符串就像您想要的那样。

您只需将字符串打印到控制台或将其放在表单上的某个位置即可轻松检查。

于 2013-01-24T12:24:05.513 回答
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);
于 2013-01-24T12:26:01.640 回答
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
于 2013-01-24T12:26:05.093 回答