2012-11-07 236 views
0

我有一个字符串属性返回一个目录,它有“程序文件//”,所以要在命令提示符下使用它,我必须使用引号字符串。但是,如果我做了以下'u0022'引入字符串引号C#

string myDic = someDic; 

string myCmdPrptDic = '\u0022' + someDic + "\u0022' 

myCmdPrptDic结束了如\ “C:// Program Files文件//对myApp \”,并在命令提示符将无法正常工作。有没有办法只创建“C:// Program Files // myApp”?或者,也许我应该只使用StringBuilder ....

我只需要生成像一个字符串:

copy //data/file// "C://program files//myapp" 

,但我不能这样做,因为

string = "copy //data//file" +" "+ '\u0022' + someDic + "\u0022'; 
+0

我假定你的意思’ \ u0022'+ someDic +'\ u0022'...你在看调试器中的字符串吗? –

+0

是的,当我移动光标时它显示为“\”C:// Program files // myApp \“”到调试器中的字符串....和2个字符串被连接在一起时相同的东西 – NewDTinStackoverflow

+0

请删除问题!它不是字符串的问题。它是_executeCommand方法的问题。我传递完全相同的字符串,一个作为确切的字符串,另一个作为一个字符串的值和方法只执行其中一个......谢谢。 – NewDTinStackoverflow

回答

1

你确定实际上你的字符串是什么,而不仅仅是你观看它的方式?在VS调试器的监视窗口中,它已经将字符串放在双引号中,这意味着它需要转义其中的任何引号。如上所述,上面的代码不会将\放入字符串中。如果真的是在那里(而不仅仅是调试信息误读),那么有一些其他的代码在某处添加。

+0

我怎么会知道什么那么真正的价值是什么? – NewDTinStackoverflow

+0

那么,我已经介绍过visual studio如何在watch/locals窗口中显示字符串(转义引号),如果点击旁边的放大镜(在watch/locals中,或者当你停在一个断点),那么你会看到“文本可视化器”,它将给出字符串的“真实”视图。 – Chris

0

你报价“和‘是不匹配的。