五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【C#】內(nèi)插字符串增強(qiáng) 騷操作原理講解

2022-10-25 14:03 作者:SunnieShine  | 我要投稿

內(nèi)插字符串的增強(qiáng)(Interpolated String Enhancements)

內(nèi)插字符串是 C# 6 就有的一個特性,但它最開始被直接翻譯成 string.Format 的方法調(diào)用,因此會造成裝箱影響性能。

C# 10 將其優(yōu)化,又因為考慮到兼容性的問題,所以沒有直接改變 C# 6 的這種編譯行為,而是單獨指定了一個新的行為:翻譯成類似 StringBuilder 的類似拼接的行為。

內(nèi)插字符串包含兩部分:內(nèi)插部分(Interpolation)和字面量部分(Literal)。內(nèi)插和字面量部分調(diào)用不同的方法。當(dāng)拼接字面量的時候,調(diào)用 AppendLiteral 方法;而拼接內(nèi)插部分的時候,則調(diào)用的是 AppendFormatted 方法。

另外,考慮到性能優(yōu)化的問題,編譯器會提前計算內(nèi)插字符串的總長度以及內(nèi)插部分的總個數(shù)。你可以使用你自定義的內(nèi)插字符串拼接器對象的構(gòu)造器來獲取這兩個數(shù)值,分別都是 int 類型。

只要我們定義出了這種數(shù)據(jù)類型,就可以在任何使用內(nèi)插字符串的地方轉(zhuǎn)譯成這樣的對象進(jìn)行拼接,避免編譯器的默認(rèn)行為,而且還能優(yōu)化性能。

一個比較方便入門的參考實現(xiàn)代碼:

圖1:調(diào)用部分

圖2:自定義內(nèi)插字符串拼接器對象部分


【C#】內(nèi)插字符串增強(qiáng) 騷操作原理講解的評論 (共 條)

分享到微博請遵守國家法律
喀喇沁旗| 万山特区| 乳源| 崇左市| 禹州市| 介休市| 龙游县| 遵义市| 咸阳市| 南投县| 衡水市| 胶南市| 黎平县| 广安市| 奇台县| 灵川县| 康乐县| 甘肃省| 内江市| 波密县| 广汉市| 惠水县| 治县。| 临高县| 两当县| 瑞丽市| 武汉市| 曲靖市| 岱山县| 获嘉县| 和田市| 孟村| 准格尔旗| 周宁县| 湖北省| 东兰县| 平潭县| 吉首市| 大竹县| 清河县| 和龙市|