日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

看看C# 6.0中那些语法糖都干了些什么(上篇)

發(fā)布時(shí)間:2024/4/14 C# 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 看看C# 6.0中那些语法糖都干了些什么(上篇) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一:自己主動(dòng)初始化屬性

???? 確實(shí)這個(gè)比之前的版本號(hào)簡(jiǎn)化了一下。只是你肯定非常好奇。究竟編譯器給我們做了哪些東西呢?

1 class Student 2 { 3 public string Name { get; set; } = "ctrip"; 4 }

?

從這張圖中能夠看到,在ctor中<Name>k__backingfield=“ctrip“的賦值在base::ctor之前,這就說明name是變量初始化賦值。而不屬于

構(gòu)造函數(shù)賦值。那有什么差別呢,假設(shè)base::ctor在<Name>k__backingfield=”ctrip"之前,那就是構(gòu)造函數(shù)賦值了,只是我得特別要指明

一下,是源碼級(jí)別的差別,而不是IL中的差別。由于在IL中都是構(gòu)造函數(shù)賦值。只是語句順序不一樣而已,然后我把內(nèi)部做的代碼復(fù)原例如以下:

1 class Student 2 { 3 private string k__BackingField = "ctrip"; 4 5 public string Name 6 { 7 get 8 { 9 return k__BackingField; 10 } 11 12 set 13 { 14 k__BackingField = value; 15 } 16 } 17 }

然后再看看怎么讓base::ctor在<Name>k__backingfield="ctrip"之前。

1 class Student 2 { 3 private string k__BackingField; 4 5 public string Name 6 { 7 get 8 { 9 return k__BackingField; 10 } 11 12 set 13 { 14 k__BackingField = value; 15 } 16 } 17 18 public Student() 19 { 20 k__BackingField = "ctrip"; 21 } 22 }

?

不好意思,一不小心就扯到了變量初始化和構(gòu)造函數(shù)賦值在源碼級(jí)別的差別。

?

二:僅僅讀屬性初始化

  這個(gè)也是一個(gè)超級(jí)好玩的屬性,先來看看代碼:

1 class Student 2 { 3 public string Name { get; } 4 5 public Student(string name) 6 { 7 Name = name; 8 } 9 }

可是我們記得,在之前的C#版本號(hào)是不能這么寫。但如今惹不住好奇心,先去底層看看究竟生成了什么。

?

?

然后我就奇怪了,屬性本來就能夠是僅僅讀的,如今編譯器已經(jīng)放開了,那是不是有問題了,我假設(shè)真的是須要一個(gè)僅僅讀屬性。這個(gè)該怎樣是好

呢?然后我就試著在Name屬性中返回一個(gè)值,果然編譯器不放行。這就說明編譯器在里面還做了一個(gè)貌似合理的推斷。

?

三:Lambda充當(dāng)函數(shù)體

  這個(gè)聽起來就有點(diǎn)怪怪的,還是先看個(gè)樣例。

1 class Student 2 { 3 public string Name => "ctrip"; 4 5 public void Print(string name) => Console.WriteLine(name); 6 }

只是當(dāng)我看到這樣的寫法時(shí)。我也是醉了。假如你一年都沒有接觸C#,再回來看時(shí)。我想你肯定看不懂這些雞巴代碼了。

。。沒辦法。還得繼續(xù)

看看IL在底層都做了些什么?

?

當(dāng)看到IL的時(shí)候再次醉了。事實(shí)上=>不過一個(gè){}方法體括號(hào)而已呀!

這不是徒增我們的學(xué)習(xí)成本么?然后我就繼續(xù)想。這里的函數(shù)體就一條

console.wirteline語句,那我要是灌幾條語句會(huì)怎么樣呢?能夠想象肯定是要加括號(hào)的,可是我真的加上{}后。編譯器凌亂了。。。

?

那這個(gè)圖就告訴我們。C#6.0的lamaba充當(dāng)函數(shù)體的語法糖僅僅適合一條語句。假設(shè)真要做到多條語句。那你僅僅能單獨(dú)提取一個(gè)方法出來。

就像以下這樣。

轉(zhuǎn)載于:https://www.cnblogs.com/wzzkaifa/p/7242919.html

總結(jié)

以上是生活随笔為你收集整理的看看C# 6.0中那些语法糖都干了些什么(上篇)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人啪精品午夜在线观看 | 杨幂一区二区国产精品 | 蜜臀av在线观看 | 国产成人观看 | 蜜桃传媒一区二区亚洲 | 成人日b视频 | 国产精品无码免费专区午夜 | 人人妻人人澡人人爽人人精品 | 欧美性生活一级 | 亚洲春色在线观看 | 亚洲欧美一区二区视频 | 亚洲精品一区二区口爆 | 欧美日本色| 蜜桃av在线 | 午夜欧美视频 | 国产在线欧美日韩 | 国产农村妇女精品一区 | 美女隐私免费观看 | 日本一区二区三区精品视频 | 色悠悠国产精品 | 男人天堂av电影 | 欧美另类69xxxx | 精品国产一级久久 | 可以看的黄色网 | 国产色播| 134vcc影院免费观看 | 草草影院在线观看 | 五月天婷婷在线视频 | 国产精品国产三级国产 | 黑人三级视频 | 影音先锋中文在线 | av导航网站 | 久久久久久免费毛片精品 | 日本三级韩国三级三级a级中文 | 超碰在线国产97 | 欧美s码亚洲码精品m码 | 人妻换人妻仑乱 | 天天射夜夜骑 | 日本一卡二卡在线 | 四季av国产一区二区三区 | 第一宅男av导航入口 | 婷婷人体 | 极品人妻一区二区三区 | 精品无码m3u8在线观看 | 中文字幕日韩欧美在线 | 爱色成人网 | 国产精品91av | 青娱乐国产视频 | 国产亚洲制服欧洲高清一区 | av男人天堂av | 老司机av福利 | 日本一本久草 | 5566在线| 91小宝寻花一区二区三区 | 成年网站 | 黄色片一级 | 亚洲av无码乱码国产麻豆 | 亚洲成人999 | 成人福利在线播放 | 婷婷在线综合 | 日本三级日本三级日本三级极 | 干综合网 | 99免费在线| 国产成人精品久久二区二区91 | www中文字幕 | 男人天堂2021 | 国产在线免费视频 | 二区三区偷拍浴室洗澡视频 | 性の欲びの女javhd | 又粗又猛又爽又黄少妇视频网站 | 毛片入口 | 无码国产69精品久久久久网站 | 一区不卡视频 | 亚洲中文字幕在线观看 | 欧美一区二区三区在线视频 | 波多野av在线 | 亚洲二区在线观看 | 色老汉av一区二区三区 | 嫩草导航 | 麻豆国产尤物av尤物在线观看 | 2022av在线| 小小姑娘电影大全免费播放 | 性做爰视频免费播放大全 | 中文字幕亚洲区 | 亚洲中文字幕无码一区二区三区 | 欧美黄色a级片 | 免费人成在线观看视频播放 | av网站大全免费 | 黄网免费观看 | av先锋在线| 亚洲日批视频 | 欧美成人三级在线视频 | 男女啪啪软件 | 亚洲精品成人片在线观看精品字幕 | 久久亚洲综合国产精品99麻豆精品福利 | 6080福利 | 天天插天天操天天干 | 亚洲国产精一区二区三区性色 | 找国产毛片看 |