首頁 > 後端開發 > C++ > C# 字串之前的 $ 符號是逐字字串還是字串插值?

C# 字串之前的 $ 符號是逐字字串還是字串插值?

DDD
發布: 2025-01-04 22:07:38
原創
475 人瀏覽過

Is the $ Symbol Before a C# String a Verbatim String or String Interpolation?

逐字字串還是新功能?揭開字串前 $ 的神秘面紗

您在使用 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板