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


Antworten:


162

Entkomme ihnen mit Backslashes.

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

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#""";

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.


Ich mag deine Art.
Mahdi-Malv

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

AUSGABE - "Hallo", ich bin Programmierer


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


0

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

const string myStrQuote = "\"";

-1

Der Code:

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

Ausgabe wird sein:

Hallo Welt."

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.