逐字字串還是新功能?揭開字串前 $ 的神秘面紗
您在使用 Visual Studio 2015 CTP 時偶然發現了一個奇怪的現象。您沒有使用 @ 逐字字串,而是無意中鍵入了 $,但編譯器沒有錯誤地回應。本文旨在闡明 C# 中字串之前 $ 的作用。
$ 字元是 String.Format 的快捷方式,它在字串插值中起著至關重要的作用,這是 C# 6 中引入的一項新功能。 ,在您的具體用法中,它本質上成為一個佔位符,反映了 string.Format() 的功能。
當 $ 透過引用其他值來促進字串構造時,$ 的真正威力就會顯現出來。考慮一個場景,您有以下變數:
var anInt = 1; var aBool = true; var aString = "3";
過去,您會依賴String.Format() 來組裝格式化字串:
var formated = string.Format("{0},{1},{2}", anInt, aBool, aString);
帶有字串插值,這個過程變得毫不費力:
var formated = $"{anInt},{aBool},{aString}";
此外,C# 提供了一種使用$@ 的替代插值語法。這允許無縫整合逐字字串功能和字串插值,而無需轉義字元。例如:
var someDir = "a"; Console.WriteLine($@"c:\{someDir}\b\c");
此程式碼的輸出將是:
c:\a\b\c
以上是C# 字串之前的 $ 符號是逐字字串還是字串插值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!