創作內容

0 GP

[C#] 字串插值

作者:窗台上的兔子│2018-08-15 15:59:09│巴幣:0│人氣:278

基本介紹

$ 特殊字元會將字串常值識別為「字串內插補點」。 插入字串是可能包含「插入運算式」的字串常值。 將插入字串解析為結果字串時,會將具有插入運算式的項目取代為運算式結果的字串表示。

若要將字串常值識別為插入字串,請在其前面加上 $ 符號。 字串常值開頭的 $ 與 " 之間不能有空白字元。 這樣做會導致編譯時期錯誤。

範例:
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

參考文章

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4094975
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 2 篇留言

泰瑞勒
酷喔

08-16 14:11

窗台上的兔子
哈哈 這你也會發現08-16 16:23
TONY
只有學過java,抱歉問一下, {1}, {2:HH:mm}是什麼意思啊?
這裡的大括號是什麼用法?

03-20 03:25

窗台上的兔子
可以參考這個連結
https://docs.microsoft.com/zh-tw/dotnet/standard/base-types/composite-formatting03-20 18:36
我要留言提醒:您尚未登入,請先登入再留言

喜歡★lun093611 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:[C#]Value Ty... 後一篇:在.NET Core 3...

追蹤私訊切換新版閱覽

作品資料夾

chf01189大家
小屋更新恆星戰役第一回和萬艦穿星2第二回4K影片,歡迎來小屋看看,有興趣可以支持我的頻道!看更多我要大聲說53分前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】