基本介紹
$ 特殊字元會將字串常值識別為「字串內插補點」。 插入字串是可能包含「插入運算式」的字串常值。 將插入字串解析為結果字串時,會將具有插入運算式的項目取代為運算式結果的字串表示。
若要將字串常值識別為插入字串,請在其前面加上 $ 符號。 字串常值開頭的 $ 與 " 之間不能有空白字元。 這樣做會導致編譯時期錯誤。
範例:
var date = DateTime.Now;
Console.WriteLine("Today is {1}, it's {2:HH:mm} now.", name, date.DayOfWeek, date);
// Today is Wednesday, it's 19:40 now.
Console.WriteLine($"Today is {date.DayOfWeek}, it's {date:HH:mm} now.");
// Today is Wednesday, it's 19:40 now.// 兩句結果一樣。
注意:字串插值 $ 符號,在C# 6 和之後更新的版本中才有提供這項功能。
用法
具有插值運算式的項目結構如下所示:
{<interpolatedExpression>[,<alignment>][:<formatString>]}
若要在插入字串所產生的文字中包含大括弧 “{” 或 “}”,請使用雙大括弧 “{{” 或 “}}” 來逸出大括號。
元素 |
描述 |
interpolatedExpression |
產生要格式化之結果的運算式。 null 結果的字串表示是 String.Empty。 |
alignment |
常數的運算式,其值定義插值運算式結果的字串表示的字元數下限。 如果是正數,則字串表示是靠右對齊; 如果是負數,它是靠左對齊。 |
formatString |
運算式結果的類型所支援的格式字串。 |
範例:
Console.WriteLine($"|{"Left",-7}|{"Right",7}|");
// |Left | Right|
// 字串內容會像PadRight與PadLeft一樣將字串補齊至指定數量。
Console.WriteLine($"|{123:C}|");
// |$123.00|
Console.WriteLine($"|{123,10:C}|");
// | $123.00|
在插入運算式中使用條件運算子,請用括號括住運算式。
範例:
int a = 2;
Console.WriteLine($"a = {(a == 3 ? "2" : "3")}");
// a = 3
參考文章