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

Odpowiedzi:

165

Ucieknij im odwrotnym ukośnikiem.

"I want to learn \"C#\""
kennytm
źródło
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#""";
NeilDurant
źródło
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.

James Cochrane
źródło
Podoba mi się twój sposób.
Mahdi-Malv
13
string str = @"""Hi, "" I am programmer";

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

somesh
źródło
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 #”

ŁukaszW.pl
źródło
1

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

const string myStrQuote = "\"";
Chagbert
źródło
-2

Kod:

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

Wynik będzie:

Witaj świecie."

Ariel Terrani
źródło