3

たとえば、このコード行がConsole.Writeline(" \|\/ \| /");プログラムに干渉することは望ましくありません。現時点ではエラー Unrecognized escape sequence but I don't want to use an escape sequence.コンソールに表示されます。これを行う方法はありますか?お読みいただきありがとうございます。

4

8 に答える 8

6

バックスラッシュをエスケープ文字として扱わず、複数行のリテラルも許可する、そのままの文字列リテラルが必要なように思えます。

Console.Writeline(@" \|\/ \| /");

詳細については、 MSDNまたは文字列に関する私の記事の「リテラル」セクションを参照してください。二重引用符については、まだ少し作業が必要になることに注意してください。

于 2013-02-28T17:44:36.080 に答える
3
Console.Writeline(@" \|/ \| /");

MSDN 文字列 (C# リファレンス)

于 2013-02-28T17:44:23.913 に答える
3

使用する

Console.Writeline(@" \|/ \| /");

この@文字は、エスケープ シーケンスを処理しないようにコンパイラに指示します。

于 2013-02-28T17:44:30.433 に答える
3

のように書きますConsole.WriteLine(@" \|/ \| /")。シンボルは、@Visual Studio に、文字列を記述どおりに使用するように指示します。

\または、それぞれをに置き換えます。\\これは、 を表示するエスケープ シーケンス\です。

于 2013-02-28T17:45:40.087 に答える
2

@と呼ばれるものを使用できますverbatim string literal

Console.Writeline(@" \|/ \| /");

逐語的な文字列リテラルは、@ 文字とそれに続く二重引用符、0 個以上の文字、および終了二重引用符文字で構成されます。簡単な例は @"hello" です。逐語的な文字列リテラルでは、デリミタ間の文字は逐語的に解釈されますが、唯一の例外は引用符エスケープ シーケンスです。特に、単純なエスケープ シーケンス、および 16 進数と Unicode のエスケープ シーケンスは、逐語的な文字列リテラルでは処理されません。

于 2013-02-28T17:44:49.023 に答える
2

それらのキャラクター自体をコンソールに表示したいだけです。

次に、エスケープ シーケンスまたは逐語的な文字列リテラルを使用する必要があります。

Console.Writeline(@" \|/ \| /");
于 2013-02-28T17:44:50.827 に答える
0

文字列の前に「@」を付けます

@" \|/ \| /"
于 2013-02-28T17:44:44.837 に答える
-1

あるいは、実際にエスケープ シーケンスを正しく使用 (および理解) することもできます。文字列で使用する\には、それらをエスケープする必要があります。参照については、 http://msdn.microsoft.com/en-us/library/h21280bw.aspxを参照してください。

したがって、実際のコマンドは次のようになります

// Escaped characters make this show up as "\|/ \| /"
Console.Writeline(" \\|/ \\| /");

しかし、出力は\|/ \| /

于 2013-02-28T17:48:38.590 に答える