Jak umieścić cudzysłowy w ciągu znaków


Odpowiedzi:


165

Ucieknij im odwrotnym ukośnikiem.

"I want to learn \"C#\""

Podręcznik referencyjny jest pomocny: msdn.microsoft.com/en-us/library/ms228362.aspx
S.Lott

2
nie możesz używać wielu znaków „” ”podczas formatowania ciągu String.Format („ <E> <A KH=\"{0}\" ID=\"{1}\"/> <C> <T ID = \ " {2} \ "SID = \" {3} \ "> <LP = \" {4} \ "N = \" {5} \ "/> </T> </C> </E>", params) nie będzie działać z wieloma cudzysłowami. Użyj tej odpowiedzi, która jest poprawnie zaznaczona i przyzwyczaić się do robienia tego.
New Bee

@ANeves może uczciwie powiedzieć, że @newbee się myli i że istnieje działający kontrprzykład: string ok = string.Format(@"""{0}"" = {1}", "yes", true);ale nie łącz się z głupimi, nieistotnymi obrazami, które marnują czas ludzi. To jest strona techniczna
barlop 08

82

Oprócz zamiany cudzysłowów na ukośniki odwrotne zobacz również pytanie SO 2911073, które wyjaśnia, w jaki sposób można alternatywnie używać podwójnego cudzysłowu w ciągu poprzedzającym @:

string msg = @"I want to learn ""c#""";

Potrzebowałem tego w mojej logice zamiany. string nullHideDecimal = @ "<HideDecimal i: nil =" "true" "/>"; a następnie dataContractXML = dataContractXML.Replace (nullHideDecimal, "<HideDecimal> 0 </HideDecimal>");
Ziggler

20

Używam:

var value = "'Field1','Field2','Field3'".Replace("'", "\""); 

w przeciwieństwie do odpowiednika

var value = "\"Field1\",\"Field2\",\"Field3\"";

Ponieważ ten pierwszy ma znacznie mniej hałasu niż drugi, dzięki czemu łatwiej jest dostrzec literówki itp.

Często go używam w testach jednostkowych.


Podoba mi się twój sposób.
Mahdi-Malv

13
string str = @"""Hi, "" I am programmer";

WYJŚCIE - „Cześć”, jestem programistą


Link został poddany cybersquattingowi
Ross Anderson

4

Użyj znaków ucieczki, na przykład ten kod:

var message = "I want to learn \"c#\"";
Console.WriteLine(message);

wyświetli:

Chcę się nauczyć „c #”


1

Możesz także zadeklarować stałą i używać jej za każdym razem. schludny i pozwala uniknąć nieporozumień:

const string myStrQuote = "\"";

-2

Kod:

string myString = "Hello " + ((char)34) + " World." + ((char)34);

Wynik będzie:

Witaj świecie."

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.