文字列に引用符を含める方法


回答:


165

バックスラッシュでそれらをエスケープします。

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

リファレンスマニュアルは役に立ちます:msdn.microsoft.com/en-us/library/ms228362.aspx
S.Lott 2010

2
文字列をフォーマットするときに複数の "" "を使用することはできませんString.Format(" <E> <A KH = \ "{0} \" ID = \ "{1} \" /> <C> <T ID = \ " {2} \ "SID = \" {3} \ "> <LP = \" {4} \ "N = \" {5} \ "/> </ T> </ C> </ E>"、 params)複数の引用符では動作しません正しくマークされ、それを行うのが習慣に慣れるこの答えを使用してください。。
新ビー

@ANevesは、@ newbeeが間違っていて、反例が機能していると言っても過言ではありstring ok = string.Format(@"""{0}"" = {1}", "yes", true);ません。しかし、人々の時間を無駄にする愚かな無関係な写真にリンクしないでください。これは技術サイトです
barlop 2016

82

バックスラッシュで引用符をエスケープするだけでなく、@プレフィックス文字列で二重引用符を使用する方法を説明するSO質問2911073も参照してください。

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

置換ロジックでこれが必要でした。string nullHideDecimal = @ "<HideDecimal i:nil =" "true" "/>"; 次に、dataContractXML = dataContractXML.Replace(nullHideDecimal、 "<HideDecimal> 0 </ HideDecimal>");
ジグラー2016年

20

私が使う:

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

同等のものとは対照的に

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

前者は後者に比べてノイズがはるかに少ないため、タイプミスなどが見やすくなっています。

ユニットテストでよく使います。


私はあなたのやり方が好きです。
マフディ・Malv

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

出力-「こんにちは、」私はプログラマーです


リンクはサイバースクワッティングされました
ロスアンダーソン

4

たとえば、次のコードではエスケープ文字を使用します。

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

出力します:

「c#」を学びたい


1

定数を宣言して毎回使用することもできます。きちんと混乱を避けます:

const string myStrQuote = "\"";

-2

コード:

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

出力は次のようになります。

こんにちは世界。"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.