C# 中 “$” 符號的作用以及用法詳解
前言:$是c# 6.0 的語言特性,功能類似string.format(),更方便的地方在于不要像format一樣使用索引,可以直接使用變量、表達式或者方法的執(zhí)行。
一、C#中$的作用
談及這個$,其實它是C#6.0語法中模板字符串的一種寫法,什么是模版字符串?還記得你們用過的格式化字符串嗎?string.Format() 這個方法,是最常用的方法之一。
那$又是什么呢?它是為了替代string.format()的,原先賦值需要占位符和變量,當(dāng)需要拼接多個變量會造成語句過長等不易理解問題。
$是為了替代string.format(),可以把字符串中的C#變量{}包含起來達到識別C#變量的目的$"{id}";也支持表達式,使用$"{(你的表達式)}";或者方法的執(zhí)行,使用$"{(方法)}"。
二、C#中$的用法
C# 中$符號的作用是C#6.0中新出現(xiàn)的一個特性,也即是字符串的拼接優(yōu)化。
語法格式:$"string {參數(shù)}"
解釋:以$符號開頭開始字符串,其中以{}來進行傳參,可以多個參數(shù)累加。
例如:var results = $"Hello {Name}";
三、關(guān)于$的示例講解
var str = string.Format("我的名字叫{1},我今年{1}歲。", "張三", 23);
Console.WriteLine(str);
這是我們使用string.format()的寫法,下來我們使用$改寫一下。
var str = $"我的名字叫{"張三"},我今年{23}歲。";
Console.WriteLine(str);
通過上面這個案例,我們發(fā)現(xiàn),現(xiàn)在使用$代碼簡潔,可讀性強。
可能有些朋友覺得效果不太明顯,那么請看下面這個案例:
var name = "張三";
var age = 23;
var sex = "男";
var message = string.Format("我叫{0},我的年齡為{1},我的性別是{2}", name, age, sex);
var show = $"我叫{name},我的年齡為{age},我的性別是{sex}";
Console.WriteLine(message);
Console.WriteLine(show);

如果還感受不到,那么請你試想一下:如果我們要操作的數(shù)據(jù)很多,假設(shè)它是一個多條的SQL語句,那么在長篇字符串中定位索引,那是不是很累??!縱使你寫對了索引(沒寫對還得一個個檢查、修改),好不容易完工了。但下一個需求讓你加兩個參數(shù),你的索引位置又得變,還得在萬碼叢中查找你原來索引在哪里的,是不是很惡心?
哈哈,不用沮喪,此時C#6.0模版字符串就可以閃亮登場啦!
怎么用?總結(jié)一下,就是在字符串的雙引號前面加一個 $ 符號,在需要使用變量的地方用{變量}就可以了。這個在我們上面的案例中,也有體現(xiàn)。
四、關(guān)于$的補充知識
正如我們上面所說,{變量}表示在字符串中輸出變量的值,當(dāng)然{}中間也可以是一個表達式或者方法的執(zhí)行。
$"我的姓名是{GetName()}";
$"name的類型是{name.GetType()}";
如上,這樣就很方便,帥氣了!那么變量和索引可以混用嗎?當(dāng)然也是可以的,如下:
var name = "張三";
var age = 23;
var sex = "男";
var show = string.Format($"我是{name},今年{age},家住在{{0}}", sex);
Console.WriteLine(show);

要注意的是需要用兩次大括號
{{}}將索引包含起來,也就是這樣的形式,{{索引}}。因為一次是輸出表達式,兩次就轉(zhuǎn)義成普通的占位符了,這點一定要注意!
總結(jié)
到此這篇關(guān)于C# 中 “$” 符號的作用以及用法的文章就介紹到這了,更多相關(guān)C# $ 符號作用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c# Invoke和BeginInvoke 區(qū)別分析
這篇文章主要介紹了c# Invoke和BeginInvoke 區(qū)別分析,需要的朋友可以參考下2014-10-10

