2012-02-09 7 views
3

У меня есть следующий литерал строковой строки: @"some text ""here"" and some more text" Все работает отлично, когда у меня есть назначенная строковая переменная в программе.
Но когда я помещаю эту строку - "some text ""here"" and some more text" и читаю ее, она не распознается как необработанная строка.

Что делать, если C# распознает это как строку-строку? В частности, что такое программный эквивалент спецификатора «@», используемый для указания того, что строка является строкой?чтение необработанной строки из файла в C#

+0

Как вы его сохранили и прочитали? Вы сохраняете в текстовом файле, xml ...? –

+0

Вы бы хотели показать свой код, как вы делаете int в настоящее время? в противном случае вы добавляете туда escape-символ для каждой цитаты. – cpoDesign

+0

Строка - это строка - если она содержит кавычки или нет. В чем именно проблема, с которой вы сталкиваетесь с этими строками? – Oded

ответ

2

Почему вы не избежите этого?

"some text \"here\" and some more text" 

enter image description here

+0

текст не принадлежит мне .. я просто прочитал его..так не под моим контролем – Aadith

1

Там нет программного эквивалента @ спецификатора. Спецификатор используется только в компиляции времени для преобразования стенографической строки буква в ее внутреннее представление. (BTW, собственное имя - стенографическая строка, а не строка-строка).

Поэтому str1 и str2 ниже представляют точно ту же строку во время выполнения:

string str1 = "some text \"here\" and some more text"; 
string str2 = @"some text ""here"" and some more text"; 

одна и только разница между ними видны только исходным кодом. При чтении строк из текстового файла вам не нужно применять какие-либо программные преобразования.

0

Я думаю, что когда вы говорите грубую строку, вы имеете в виду буквальную строку.

http://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx

Символьные строки, используя символ @ только говорит компилятору буквально взять текст, предоставленный.

Насколько я знаю, нет способа преобразовать строку в литеральную версию этой строки.

Но вы можете легко написать этот код, который заменяет двойные кавычки одиночными кавычками.

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