2016-07-19 5 views
0

Я использую SQLDataReader в C# для запроса таблицы SQL. Одним из полей в этой таблице является строка, которая содержит путь к файлу, например "C:\\Files\\MyFiles".SQLDataReader возвращает строку с дополнительными символами прерывания \\

Однако SQLDataReade r возвращает эту строку с двумя дополнительными косой чертой. Например: "C:\\\\Files\\\\MyFiles".

SQLDataReader, по-видимому, обнаруживает escape-символ «\». Неужели я могу остановить это?

+5

Это то, что вы увидите в * отладчике *, это то, что вы ищете? –

+0

Да, я использую отладчик. Я пытаюсь сравнить две строки, но они не совпадают из-за дополнительного «\». Так что я не могу отладить это? – Cameron

+0

Отладчик отображает строки в их экранированной форме, поэтому, если вы видите \\, действительно существует только \ - как вы ожидаете, все хорошо. –

ответ

2

Это как-то вводит в заблуждение для некоторых разработчиков при проверке ценности в визуальной студии. Вы получаете строку, как это:

C:\\\\Files\\\\MyFiles 

Но при печати на консоли вы получите точную строку:

Console.WriteLine(path); /* C:\\Files\\MyFiles */ 

Вы можете нажать на значок лупы проверить точные строки символов. Так что не беспокойтесь, вы можете пойти в , это просто Visual Studio, добавив некоторые escape-символы.

0

Вы можете заменить \\\\ на \\.

Смежные вопросы