Возникли проблемы при добавлении двойных кавычек в строку, которая находится внутри переменной в C #? - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь передать 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 голосов
/ 30 мая 2018

При хранении строковых значений, если необходимо добавить двойные кавычки, их необходимо экранировать, используя обратную косую черту (\).Одинарные кавычки используются для символьных данных.Следующий код должен получить необходимые выходные данные.

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

Также я создал небольшую скрипку здесь .

0 голосов
/ 30 мая 2018

Если вы пытаетесь сохранить два набора двойных кавычек, попробуйте построить строку следующим образом:

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

Конечно, если вы хотите использовать одинарные кавычки, просто поменяйте местами doubleQuotes на singleQuotes = "\"";и получите "hello".

0 голосов
/ 30 мая 2018

Может быть, вам следует попробовать дословные строки, такие как @"the\path\to\another\location".
Это лучший способ записать пути без необходимости работать с escape-кодами.

РЕДАКТИРОВАТЬ:
Вы можете использовать двойные кавычки вдословная строка:
@"""the\path\to\another\location"""

0 голосов
/ 30 мая 2018

Из того, что я понимаю, вы хотите увидеть

"Какой-то путь к папке"

при печати.Если это так, выполните:

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

или

string path = "Some path to folder location";
var finalString = string.Format("\"{0}\"", path);
0 голосов
/ 30 мая 2018

В отладчике вы увидите обратную косую черту.

Отправили вывод на консоль, и вы увидите, что результат хороший.

 string Path = "Some path to folder location";

 Path = "\"" + Path + "\"";
 Console.WriteLine(Path);
0 голосов
/ 30 мая 2018

Чтобы добавить двойную кавычку, вам нужно добавить '\' перед '"'.

Обратите внимание: если у вас есть '\' в path, вы должны позаботиться об этом, как показано ниже.

если путь "D: \ AmitFolder"

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

здесь str будет "Некоторый путь к папке"

Вывод:

enter image description here

, как в приведенной выше строке, мы добавляем "\"" строку в качестве префикса и "\"" в качестве исправления после основной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...