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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#语法糖 Null 条件运算符 【?.】

發(fā)布時間:2023/12/4 C# 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#语法糖 Null 条件运算符 【?.】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

例子

比如說:我們有一個UserInformation類

public?class?UserInformation{?public?string?Name?{?get;?set;?}public?List<string>?Address?{?get;?set;?}}

有下面一段代碼,我們獲取張三的第一個地址

static?void?Main(string[]?args){UserInformation?user?=?new?UserInformation();user.Name?=?"張三";user.Address?=?new?List<string>?{?"浙江省",?"上海市"?};string?address?=?user.Address.First();}

因為我們已經(jīng)知道UserInformation類的Address屬性是有值的,這樣寫肯定是沒有任何問題的,但是List是一個引用類型可以為null,,我們在使用的時候根本不知道Address屬性是否有值,比如說:

static?void?Main(string[]?args){UserInformation?user?=?new?UserInformation();user.Name?=?"張三";user.Address?=?null;string?address?=?user.Address.First();}

我們肯定會去判斷Address是否為空,但是我們?yōu)榱舜a健壯性,我們第一段代碼應該修改成:

static?void?Main(string[]?args){UserInformation?user?=?new?UserInformation();user.Name?=?"張三";user.Address?=?new?List<string>?{?"浙江省",?"上海市"?};if(user.Address!=null){string?address?=?user.Address.First();}}

這樣才是一個正確的例子,但是有的人就覺得這樣寫很麻煩,多了三行代碼,于是微軟為了解決這個問題就添加了Null 條件運算符?.?這個語法糖, 那上面代碼可以改成什么樣子呢?

static?void?Main(string[]?args){UserInformation?user?=?new?UserInformation();user.Name?=?"張三";user.Address?=?new?List<string>?{?"浙江省",?"上海市"?};string?address?=?user.Address?.First();Console.ReadLine();}

這樣寫的話是不是就很便捷了,可讀性也高,性能也不會損失,編譯器就給我們把這個事情做了

最后大家如果喜歡我的文章,還麻煩給個關注并點個贊, 希望net生態(tài)圈越來越好!

總結

以上是生活随笔為你收集整理的C#语法糖 Null 条件运算符 【?.】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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