這幾天看C# 11的新語法,學習到了Raw string literals
今天給大家分享一下:
原始字串是字串的一種新格式。
原始字串可以包含任意文字,包括空格、新行、嵌入引號和其他特殊字元,無需跳脫字元(這個很關鍵、也很簡單)。
原始字串以至少三個雙引號 (""") 字元開頭。 它以相同數量的雙引號字元結尾。
通常,原始字串在單個行上使用三個雙引號來開始字串,在另一行上用三個雙引號來結束字串。 左引號之後、右引號之前的換行符不包括在最終內容中:
寫個範例程式碼看看
先新建了一個.NET 7.0的Console應用
PS E:\Learn\.NET7> dotnet new console --framework net7.0
我們在Program.cs中新增以下程式碼
// See https://aka.ms/new-console-template for more information Console.WriteLine("Hello, C#11!"); string txt = """ This is a long message. It has several lines. Some are indented more than others. Some should start at the first column. Some have "quoted text" in them. """; Console.WriteLine(txt);
dotnet run執行
大家可以看到,宣告的原始字串txt,可以按照輸入的格式全量輸出。
右雙引號左側的任何空格都將從字串中刪除。
原始字串可以與字串內插結合使用,以在輸出文字中包含大括號。 多個 $
字元表示有多少個連續的大括號開始和結束內插:
var Longitude= """12"""; var Latitude= """16"""; var location = $$""" You are at {{{Longitude}}, {{Latitude}}} """; Console.WriteLine(location);
猜猜輸出什麼:
You are at {12, 16}
前面的範例指定了兩個大括號開始和結束內插。 第三個重複的左大括號和右大括號包括在輸出字串中。
周國慶
2022/12/11