在为C#中的变量内部的字符串添加双引号时遇到问题?

时间:2018-05-30 05:00:18

标签: c# coded-ui-tests xcopy

我正在尝试将filepath传递给xcopy command,以便将文件夹从一个位置复制到另一个位置(CodedUI using C#)。 在做同样问题的同时,我试图在路径周围添加双引号,但它没有采用正确的路径格式。

Code: 
string Path = "Some path to folder location";

// Tried all these solutions

Path = '\"' + Path + '\"';
Path = '\"' + Path + '\"';
Path = string.Format("\"{0}\"", Path );

预期:""Some path to folder location"" 实际:"\"Some path to folder location"\"

请帮忙。

6 个答案:

答案 0 :(得分:0)

要添加双引号,您需要添加' \'之前' " '

请注意:如果您有' \'在path中,您必须像下面一样照顾它。

如果路径是" D:\ AmitFolder"

string path = @"D:\AmitFolder"; 
//Or
path = "D:\\AmitFolder"
string str = "\"" + path + "\"";
Console.WriteLine(str);

这里str将是"文件夹位置的一些路径"

输出:

enter image description here

如上一行所示,我们将"\""字符串添加为前缀,将"\""添加为主字符串的后置修复。

答案 1 :(得分:0)

在调试器中,您将看到反斜杠。

将您的输出发送到控制台,您会看到结果很好。

 string Path = "Some path to folder location";

 Path = "\"" + Path + "\"";
 Console.WriteLine(Path);

答案 2 :(得分:0)

据我所知,你想看看

  

"文件夹位置的一些路径"

打印时。如果是这样,请执行:

string path = "\"Some path to folder location\"";

string path = "Some path to folder location";
var finalString = string.Format("\"{0}\"", path);

答案 3 :(得分:0)

也许你应该尝试像@"the\path\to\another\location"这样的逐字字符串 这是编写路径的最佳方式,无需使用转义码。

编辑:
您可以在逐字字符串中使用双引号:
@"""the\path\to\another\location"""

答案 4 :(得分:0)

如果您尝试保留两组双引号,请尝试构建字符串,如下所示:

var path = "hello";
var doubleQuotes = "\"\"";
var sb = new StringBuilder(doubleQuotes)
    .Append(path)
    .Append(doubleQuotes);
Console.WriteLine(sb.ToString()); // ""hello""

当然,如果您想要单引号,只需将doubleQuotes替换为singleQuotes = "\"";并获取"hello"

答案 5 :(得分:0)

如果要添加任何双引号,则存储字符串值时,需要使用反斜杠(\)对其进行转义。单引号用于字符数据。以下代码应该获得所需的输出。

Path = string.Format("\"{0}\"", Path);

我也创造了一个小小提琴here