C#で2つの二重引用符を出力として印刷したい。これを行う方法?
つまり、出力は"" Hello World ""
Console.WriteLine("\"\" Hello world \"\"");
または
Console.WriteLine(@""""" Hello world """"");
文字列に二重引用符を入れたい場合は、\
でエスケープする必要があります
例えば:
string foo = "here is a \"quote\" character";
文字どおり"" Hello World ""
を出力する場合は、次のものが必要です。
string helloWorld = "\"\" Hello World \"\"";
output(helloWorld);
(出力は、出力に使用している方法です)
特殊文字を自動的にエスケープする@
を使用して出力できます。
string output = "\"\" Hello World \"\"";
string output = @""""" Hello World """"";
言語に存在する特殊文字を使用したい場合は、その文字の前に\を追加すると、特殊文字が文字列として動作し始めます。あなたの場合はこのように使用してください
\"Hello Word\"
アウト
"Hello Word"
これを頻繁に行う必要があり、これをコードでよりクリーンにしたい場合は、このための拡張メソッドが必要になる場合があります。
これは非常に明白なコードですが、それでも、時間を節約して取得できると便利だと思います。
/// <summary>
/// Put a string between double quotes.
/// </summary>
/// <param name="value">Value to be put between double quotes ex: foo</param>
/// <returns>double quoted string ex: "foo"</returns>
public static string PutIntoQuotes(this string value)
{
return "\"" + value + "\"";
}
次に、好きな文字列ごとにfoo.PutIntoQuotes()または "foo" .PutIntoQuotes()を呼び出すことができます。
この助けを願っています。
1つの方法は、引用符をエスケープすることです。
var greeting = "\"Hello World\"";
二重引用符の前にバックスラッシュを使用します:\"
Console.WriteLine("\"\"Hello world\"\"");
バックスラッシュ(「\」)文字は、出力される文字列の一部としてではなくコードとして解釈される「特殊」文字の前に置かれます。これは、C#言語で何らかの目的がある文字とは対照的に、文字列の文字部分として扱うようコンパイラーに指示する方法です。
「通常の」二重引用符の前に@ -charを使用すると、それらの二重引用符の間のすべての特殊文字が出力されます
string foo = @"foo "bar"";
それらをエスケープします。
Console.WriteLine("\"Hello world\"");