2

この .Net コードを実行すると:

   var builder = new StringBuilder();
   builder.AppendLine("Line One");
   builder.AppendLine("Line Two");
   var result = builder.ToString();

結果の値は文字通り次のとおりです。

"Line One\r\nLine Two\r\n"

.ToString() が改行を "\r\n" テキストに変換するのはなぜですか? これを防ぎ、文字列に実際の (隠された) 改行文字を持たせる方法はありますか?

4

1 に答える 1

2

デバッガーでは、キャリッジ リターン改行標準 Windows eol 文字列である「エスケープ文字」が表示されます。コマンドラインまたはファイルを言うためにそれを印刷する場合。実際の新しい行が表示されます。C# では、すべてのエスケープ文字は '\' で始まります。したがって、\r\n、\r はキャリッジ リターン、\n は改行または改行です。 http://en.wikipedia.org/wiki/Newline

また、これをC#で適切にコーディングするには

   StringBuilder builder = new StringBuilder();
   builder.AppendLine("Line One");
   builder.AppendLine("Line Two");
   String result = builder.ToString();

これも同じことの別の書き方です

String result = "Line One\r\nLine Two\r\n";
于 2013-02-27T20:07:16.670 に答える