練習 - 使用字串插補合併字串
雖然字串串連簡單又方便,但當您需要將許多常值字串和變數合併成單一格式化訊息時, 字串插補 在熱門程度就會增加。
什麼是字串插補?
字串插補會將多個值結合成單一常值字串,方法是使用 「template」 和一或多個 插補表達式。
插補表達式由左大括號和右大括號符號 { } 表示。 您可以將傳回值的任何 C# 運算式放在大括弧內。 字串在其前面加上字元 $ 後會變成範本。
換句話說,而不是撰寫下列程式碼:
string message = greeting + " " + firstName + "!";
您可以改寫為更簡潔的程式碼:
string message = $"{greeting} {firstName}!";
在這個簡單的範例中,您會儲存幾個擊鍵。 您可以想像在更複雜的作業中,字串插補能夠多精簡。 此外,許多人發現字串插補語法更簡潔且更容易閱讀。
在下列練習中,您將使用字串插補重寫先前的訊息。
使用字串插補結合常值字串和變數值
若要將兩個字串插補在一起,您可以建立常值字串,並在字串前面加上 $ 符號。 字面字串應該至少包含一組大括弧 {},並且在大括弧內使用變數名稱。
選取您先前在 C# 程式碼編輯器中撰寫的所有程式碼,然後按 Delete 或 Backspace 將其刪除。
在 C# 程式碼編輯器中輸入下列程式碼:
string firstName = "Bob"; string message = $"Hello {firstName}!"; Console.WriteLine(message);現在,執行程式碼。 您會在輸出主控台中看到下列結果:
Hello Bob!
搭配多個變數與常值字串使用字串插補
您可以在同一行程式代碼中執行數個插補作業。
選取您先前在 C# 程式碼編輯器中撰寫的所有程式碼,然後按 Delete 或 Backspace 將其刪除。
在 C# 程式碼編輯器中輸入下列程式碼:
int version = 11; string updateText = "Update to Windows"; string message = $"{updateText} {version}"; Console.WriteLine(message);現在,執行程式碼。 您會在輸出主控台中看到下列結果:
Update to Windows 11
避免中繼變數
就像您在上一個練習中所做的一樣,您可以排除暫存變數來儲存訊息。
將您先前撰寫的程式碼修改為下列程式碼:
int version = 11; string updateText = "Update to Windows"; Console.WriteLine($"{updateText} {version}!");現在,執行程式碼。 輸出主控台中的結果應該相同,即使您將程式碼簡化過:
Update to Windows 11!
合併逐字常值與字串插補
假設您需要在您的範本中使用逐字常值。 您可以同時使用逐字文字前置符號 @ 和字串內插符號 $。
刪除先前步驟中的程式碼,並在 C# 程式碼編輯器中輸入下列程式碼:
string projectName = "First-Project"; Console.WriteLine($@"C:\Output\{projectName}\Data");現在,請執行程式代碼,您應該會看到下列結果。
C:\Output\First-Project\Data在此範例中,
$符號可讓您參考projectName大括弧內的變數,而@符號則可讓您使用未轉義的\字元。
回顧
到目前為止,您已瞭解的字串插補內容如下:
- 字串插補可藉由減少在某些情況下所需的字元數,來改善字串串連。
- 您可以透過合併每個項目的符號並使用該符號作為字串範本的前置字元,來合併字串插補與逐字常值。