Podwójne cudzysłowy można zmienić w następujący sposób:
string test = @"He said to me, ""Hello World"". How are you?";
Ale wymaga to dodania znaku "
do ciągu. Czy istnieje funkcja C # lub inna metoda umożliwiająca unikanie podwójnych cudzysłowów, aby nie była wymagana żadna zmiana w ciągu?
c#
string
double-quotes
Mudassir Hasan
źródło
źródło
Odpowiedzi:
Nie.
Albo użyj dosłownych literałów łańcuchowych, jak masz, lub
"
użyj odwrotnego ukośnika.Ciąg nie zmienił się w żadnym przypadku - jest w nim pojedynczy znak ucieczki
"
. Jest to tylko sposób, aby powiedzieć C #, że znak jest częścią ciągu, a nie terminatorem ciągu.źródło
Możesz użyć odwrotnego ukośnika w obie strony;
Drukuje;
który jest dokładnie tym samym drukiem z;
Oto plik
DEMO
."
jest nadal częścią twojego ciągu.Sprawdź
Escape Sequences
iString literals
od MSDN.źródło
W C # możesz użyć ukośnika odwrotnego, aby umieścić znaki specjalne w ciągu. Na przykład, aby wstawić „, musisz wpisać \”. Jest wiele znaków, które piszesz za pomocą ukośnika odwrotnego: Ukośnik odwrotny z liczbą:
Ukośnik odwrotny z innym znakiem
źródło
Uciekasz za nieporozumienie.
Dodatkowe
"
znaki są częścią literału ciągu; są interpretowane przez kompilator jako pojedyncze"
.Rzeczywista wartość twojego ciągu jest nadal
He said to me , "Hello World".How are you ?
, co zobaczysz, jeśli drukujesz go w czasie wykonywania.źródło
Proszę wyjaśnij swój problem. Mówisz:
Jaki to problem? Nie możesz pisać
string foo = "Foo"bar"";
, ponieważ spowoduje to błąd kompilacji. Jeśli chodzi o część dodającą , w kategoriach rozmiaru łańcucha, która nie jest prawdą:źródło