HOWTO · Csharp
在 C# 中將換行符新增到字串
本文介紹三種在 C# 字串中加入換行的方式:使用 `\n`、`Environment.NewLine`,或將既有文字中的特定標記取代為換行。
本頁內容
若要在 C# 字串中加入換行,可以使用 \n 換行字元跳脫序列、使用目前 .NET 環境的 Environment.NewLine,或取代既有文字中的特定標記。請依文字的用途選擇換行序列;檔案格式或網路通訊協定可能會要求特定序列。
在 C# 字串中使用 \n 加入換行
\n 跳脫序列代表換行字元(LF)。在字串常值中,將它放在下一行要開始的位置。它代表該字元本身,不會依作業系統選擇換行慣例。\r 跳脫序列代表歸位字元(CR);當資料格式要求 CR,或要求 CR/LF 兩個字元組成的序列時,請使用它。
執行此範例:
本節中的程式碼以及顯示的標籤或輸出仍為英文。
using System;
class Program
{
static void Main()
{
string message = "First line.\nSecond line.";
Console.WriteLine(message);
}
}
First line.
Second line.
當你能控制字串,且需要明確使用 LF 時,這種方式很適合。如果字串要交給要求其他換行慣例的系統讀取,請改用該系統指定的序列。
使用 Environment.NewLine 加入平台專用換行
Environment.NewLine 會提供目前 .NET 環境使用的換行序列。建立供該環境使用的文字時,例如面向特定平台的文字檔,可以使用它。它不會判斷其他檔案格式或通訊協定的要求。如果格式或通訊協定指定 LF 或 CR/LF,即使與目前環境的慣例不同,也請直接使用指定的序列。請參閱 Microsoft 的 Environment.NewLine 文件。
本節中的程式碼以及顯示的標籤或輸出仍為英文。
using System;
class Program
{
static void Main()
{
string message = "First line." + Environment.NewLine + "Second line.";
Console.WriteLine(message);
}
}
First line.
Second line.
Console.WriteLine 也會在輸出結尾加上換行。嵌入的序列會分隔 message 的兩個部分;最後的換行則由輸出方法加入。
在建立字串後加入換行
C# 字串是不可變的,因此變更文字會產生新的字串。String.Replace() 會傳回這個新值;若要保留變更,請將它指派回變數。此方法會取代指定標記的每一個出現位置,因此輸入中的每個 <break> 都會變成換行。取代特定標記比取代每個句點安全,因為一般句子可能含有應保留的標點符號。現有的 Microsoft String.Replace() 文件介紹了此方法。
本節中的程式碼以及顯示的標籤或輸出仍為英文。
using System;
class Program
{
static void Main()
{
string message = "First line.<break>Second line.";
message = message.Replace("<break>", "\n");
Console.WriteLine(message);
}
}
First line.
Second line.
請使用專供此用途、且不會出現在一般文字中的標記。如果要依照目前環境加入換行,請將標記取代為 Environment.NewLine,而不是 \n。若文字由你自行組合,通常直接在原始字串中放入所需的換行,比事後修改更簡單。
總結來說,這三種方式涵蓋了主要選項:在字串常值中放入 LF、使用目前環境的換行序列,或將既有文字中的保留標記轉換為換行。若用途有更嚴格的換行要求,應以目的地的格式或通訊協定為準;平台與格式的對應不在本文範圍內。