C# 中的回車

Saad Aslam 2023年10月12日
  1. 使用無引數 Console.WriteLine() 在 C# 中新增新行
  2. 在 C# 中的同一字串中注入新行
  3. 在 C# 中使用 Environment.NewLine
  4. 在 C# 中使用換行符的 ASCII 文字
  5. 使用\r\n 在 C# 中插入新行的字元
  6. 在 ASP.NET 中為 C# 中的現有字串插入新行
C# 中的回車

本文將解釋如何使用 C# 程式語言在字串中生成回車符。在 C# 字串中建立回車可能以不同的方式完成。

以下技術,它們都以類似的方式在 C# 字串中構造回車,被檢查和實現。

使用無引數 Console.WriteLine() 在 C# 中新增新行

使用無引數 console.WriteLine() 是向控制檯程式新增新行的最簡單方法。例如:

Console.WriteLine("This is a line");
Console.WriteLine();
Console.WriteLine("This is the second line");

輸出:

This is a line

This is the second line

使用沒有任何引數的 Console.WriteLine() 方法會導致行終止符,如上面 Microsoft 文件中所示。為方便起見,WriteLine() 函式在每組兩行之間插入一個換行符。

除了預設間距之外,你還可以更改此設定以滿足你的需要。例如,可以重寫 Console.WriteLine() 方法以列印兩行而不是單行。

像下面這樣的程式碼可能會解決這個問題。

Console.Out.NewLine = "\r\n\r\n";
Console.WriteLine("This is the first line");
Console.WriteLine();
Console.WriteLine("This is the second line");

控制檯可以使用上面的程式碼。使用 WriteLine() 插入兩行。

因此可以以這種方式傳遞一個字串。當你使用 WriteLine() 時,當前輸入的字串將被擴充套件一行。

另一方面,控制檯沒有引數。WriteLine() 現在將輸入兩行,而不是僅一行。

使用此程式碼,你會得到類似的結果。

This is the first line


This is the second line

請注意,在第一個控制檯之後,還有另一行。第二個控制檯使用 WriteLine(),然後是兩個空行。

第三次呼叫 WriteLine() 後有一個空行。

在 C# 中的同一字串中注入新行

\n 放在字串中的任何位置是向現有字串新增新行的第二個選項。例如:

Console.WriteLine("This is a line.\nThis is the second line.");

上面的程式碼將如下所示執行。

This is a line.
This is the second line.

如前所述,\n 可以成功地在同一字串中插入新行。

單個反斜槓使用轉義序列和字元執行特定操作或功能。當插入到程式碼字串文字中時,轉義序列表示除雙引號之外的所有內容。

轉義序列可以被翻譯。字串錯誤會導致轉義序列問題。 \t 製表符,\a 嗶嗶聲。

在 C# 中使用 Environment.NewLine

\r\n 是 Windows 等效的換行符。有幾種方法可以在 C# 字串中插入換行符,最佳方法取決於你的軟體。

如果你想在一個字串中開始一個新行,你可以使用 Environment.NewLine。例如:

Console.WriteLine("This is a line." + Environment.NewLine + "This is the second line.");

輸出:

This is a line.
This is the second line.

上面的程式碼將產生與前面的結果相同的結果。

新行、換行、換行、回車、CRLF 和行尾與 NewLine 的功能一起使用時表示相同的含義。換行符,例如轉義字元 \r\nvbCrLf(在 Visual Basic 中)可以與 NewLine 結合使用,並結合特定語言的換行符支援 Microsoft C# 和 C/C++。

控制檯會在它處理的任何文字之後自動插入一個新行。WriteLineStringBuilder 類方法用於新增行。

在 C# 中使用換行符的 ASCII 文字

這種方法類似於\n。另一方面,你可以改用表示新行的文字 ASCII 字元。

例如:

Console.WriteLine("This is a line. \x0AThis is the second line.");

輸出:

This is a line.
This is the second line.

這個用於換行的 ASCII 文字 x0A 同樣會在上面看到的文字中插入一個新行。

使用\r\n 在 C# 中插入新行的字元

你可以將 \r\n 注入字串以引入新行。例如:

Console.WriteLine("This is a line. \r\nThis is the second line.");

輸出:

This is a line.
This is the second line.

上面的程式碼使用\r\n 正確地插入了一個新行。 \r\n\n 這兩個術語之間是否存在顯著差異?

\n 代表換行,\r 代表回車,將游標移動到文件的最左側。要從左側開始列印,需要使用 \n 進行換行,使用 \r 進行回車到最左邊的位置;這是來自儲存在 Windows 平臺上的古代計算機語法。

  1. \r\n 是 Windows 風格
  2. \n 是一種 POSIX 風格
  3. \r 是舊的 pre-OS X Macs 風格,現代 Mac 使用 POSIX 風格

在 ASP.NET 中為 C# 中的現有字串插入新行

HTML 或 ASP.NET 中的換行符由 <br/> 標記表示。通常需要將包含換行符的現有字串轉換為包含 <br/> 標記的 HTML 程式碼。

你可以使用正規表示式通過以下方法將字串的新行轉換為 HTML 換行符。

public static string ConvertToLineBreaks(this string inputString) {
  Regex regEx = new Regex(@"(\\n|\\r)+");
  return regEx.Replace(inputString, "");
}

上面顯示的方法旨在用作擴充套件方法。將該方法包含在一個單獨的檔案中,然後使用 using 語句將其包含在你的程式碼中。

最後,呼叫方法如下。

string html = inputString.ConvertToLineBreaks();

你可以在此處測試上述正規表示式。

作者: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

相關文章 - Csharp String