So fügen Sie Anführungszeichen in eine Zeichenfolge ein

Antworten:

162

Entkomme ihnen mit Backslashes.

"I want to learn \"C#\""
kennytm
quelle
Das Referenzhandbuch ist hilfreich: msdn.microsoft.com/en-us/library/ms228362.aspx
S.Lott
2
Sie können nicht mehrere "" verwenden, wenn Sie eine Zeichenfolge formatieren. String.Format ("<E> <A KH=\"{0}\" ID=\"{1}\"/> <C> <T ID = \" {2} "SID =" {3} "> <LP =" {4} "N =" {5} "/> </ T> </ C> </ E>", params) funktioniert nicht mit mehreren Anführungszeichen. Bitte verwenden Sie diese Antwort, die korrekt markiert ist, und gewöhnen Sie sich an die Gewohnheit, dies zu tun.
New Bee
@ANeves fair zu sagen, dass @newbee falsch ist und dass es ein funktionierendes Gegenbeispiel gibt: string ok = string.Format(@"""{0}"" = {1}", "yes", true);aber verlinken Sie nicht auf dumme irrelevante Bilder, die die Zeit der Menschen verschwenden. Dies ist eine technische Seite
Barlop
83

Siehe auch SO-Frage 2911073, in der erläutert wird, wie Sie alternativ doppelte Anführungszeichen in einer @ -präfixierten Zeichenfolge verwenden können:

string msg = @"I want to learn ""c#""";
NeilDurant
quelle
Ich brauchte dies in meiner Ersetzungslogik. Zeichenfolge nullHideDecimal = @ "<HideDecimal i: nil =" "true" "/>"; und dann dataContractXML = dataContractXML.Replace (nullHideDecimal, "<HideDecimal> 0 </ HideDecimal>");
Ziggler
20

Ich benutze:

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

im Gegensatz zum Äquivalent

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

Da Ersteres weitaus weniger Rauschen aufweist als Letzteres, ist es einfacher, Tippfehler usw. zu erkennen.

Ich benutze es oft in Unit-Tests.

James Cochrane
quelle
Ich mag deine Art.
Mahdi-Malv
13
string str = @"""Hi, "" I am programmer";

AUSGABE - "Hallo", ich bin Programmierer

etwas
quelle
Link wurde cybersquatted
Ross Anderson
4

Verwenden Sie Escapezeichen zum Beispiel diesen Code:

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

wird ausgegeben:

Ich möchte "c #" lernen

ŁukaszW.pl
quelle
0

Sie können auch eine Konstante deklarieren und jedes Mal verwenden. ordentlich und vermeidet Verwirrung:

const string myStrQuote = "\"";
Chagbert
quelle
-1

Der Code:

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

Ausgabe wird sein:

Hallo Welt."

Ariel Terrani
quelle