Нераспознанная escape-последовательность для строки пути, содержащей обратные косые черты
следующий код создает ошибку компилятора о "нераспознанной escape-последовательности" для каждой обратной косой черты:
string foo = "D:ProjectsSomeKindOfPathproblemwuhoo.xml";
Я думаю, мне нужно, чтобы избежать обратной косой черты? Как мне это сделать?
5 ответов:
Вы можете использовать двойную обратную косую черту каждый раз
string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";или используйте символ@
string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
попробуйте это:
string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";проблема в том, что в строке a
\является escape-символом. С помощью@знак вы говорите компилятору игнорировать escape-символы.вы также можете получить с побега
\:string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
Если ваша строка является путем к файлу, как в вашем примере, вы также можете использовать пути к файлам в стиле Unix:
string foo = "D:/Projects/Some/Kind/Of/Pathproblem/wuhoo.xml";но другие ответы имеют более общие решения для экранирования строк в C#.
string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";это будет работать, или предыдущие примеры тоже будут. @ " ..."означает относиться ко всему между кавычками буквально, так что вы можете сделать
@"Hello world"для включения литерала строки. Я более старая школа и предпочитаю избегать " \ " с "\\"
Comments