Build 2018大會:C#的未來
\\\看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!
\
在C#的未來特性清單上,排在第一位的是可空引用型別。我們第一次報導這個特性是在去年,這裡我們簡要的回顧一下:所有的引用變數、引數和欄位預設都是非空的。然後,和值型別一樣,如果你希望它們可以為空,你就必須在型別名上加一個問號(?)來顯式說明。
\\這會是一項可選特性,目前的想法是,對於將升級到C# 8的現有專案,可空引用型別特性是關閉的。對於新專案,微軟傾向於預設開啟這項特性。
\\警告會進一步分成潛在錯誤和表面警告。例如,如果p.MiddleName是一個string?,那麼下面這行程式碼會是一個表面警告:
\\string middleName = p.MiddleName;\
\\由於危險只會出現在值解引用的時候,所以這種對區域性變數的賦值並不是一個真正的問題。因此,你可以在遺留程式碼上禁用這個警告,以減少誤報數量。
\\同樣,早於這項特性的庫也不會觸發警告,因為編譯器不知道一個指定的引數是否應該視為可空的。
\\GitHub上提供了可空引用型別的預覽。
\\Switch表示式
\\Switch塊通常用於簡單地返回單個值。在這個常見的場景中,其語法比實際完成的工作要複雜得多。考慮下下面這個使用模式匹配的例子:
\\static string M(Person person)\{\ switch (person)\ {\ case Professor p:\ return $\"Dr. {p.LastName}\";\ case Studen s:\ return $\"{s.FirstName} {s.LastName} ({s.Level})\";\ default:\ return $\"{person.FirstName} {person.LastName}\";\ }\}\
\\在新的提案中,反覆出現的case和return語句可以省掉,其結果是下面這種更新、更緊湊的語法:
\\static string M(Person person)\{\ return person switch\ {\ Professor p =\u0026gt; $\"Dr. {p.LastName}\
相關文章
- 缺乏吸引開發者:微軟Build 2018開發者大會門票還未售罄微軟UI
- Microsoft 365及應用開發的未來:微軟BUILD 2018大會第二天主題演講ROS微軟UI
- 微軟公佈Build2016大會主題:微軟和技術的未來微軟UI
- 展望 C# 7 的未來C#
- C#的未來計劃C#
- 2018年微軟Build開發者大會確定將和谷歌I/O大會撞車微軟UI谷歌
- 微軟Build開發者大會重磅:Windows 10開發包來襲微軟UIWindows
- 大模型的未來在哪?大模型
- 大資料的未來大資料
- 雲棲大會,未來萬物皆是計算機?計算機
- Google I/O開發者大會第二彈之未來Go
- C# 程式語言的未來功能 (轉)C#
- 大資料,未來已來大資料
- 真孿生•共見未來 ▏ThingJS開發者大會JS
- 來自前端工程師的Google開發者大會2018參會總結前端工程師Go
- 2018華為雲區塊鏈全球開發者大賽——小連結 大未來區塊鏈
- Picasso:開啟大前端的未來前端
- QUIC 將會是 WebRTC 的未來麼?UIWeb
- 這會是Google Glass的未來嗎?Go
- "無程式碼開發"會不會是未來程式設計的一大趨勢?程式設計
- Strata + Hadoop World 北京大會-一覽大資料未來的絕佳機會Hadoop大資料
- Google 開發者大會,這一次,我們再見未來Go
- 2018騰訊雲+未來峰會Part14 基於大資料與人工智慧的智慧交通雲大資料人工智慧
- 未來web前端的六大趨勢,看未來的發展前景!Web前端
- 大廠各種佈局雲遊戲的背後,會有怎樣的未來?遊戲
- Web Apps的未來(Google開發者大會演講PPT&視訊)WebAPPGo
- 大資料視角 | 未來醫療的中心將不會再是醫生大資料
- 未來程式設計的9大猜想程式設計
- 大涼山的新衣,產業AI的未來產業AI
- 小米未來將會與微軟合作微軟
- JavaFX會將Sun送回未來嗎?Java
- 大資料未來發展大資料
- 從Build 2019,看微軟的未來辦公編織路徑UI微軟
- Gopher China 2018 大會來了,早鳥票開放Go
- 工業人工智慧的未來會怎樣?人工智慧
- 未來的智慧眼鏡將會非常酷炫
- 聯想2017TechWorld大會舉行聯想未來瞄準AIAI
- 改變未來的九大演算法演算法