\\\\
在c#的未來特性清單上,排在第一位的是可空引用型別。我們第一次報道這個特性是在去年,這裡我們簡要的回顧一下:所有的引用變數、引數和字段預設都是非空的。然後,和值型別一樣,如果你希望它們可以為空,你就必須在型別名上加乙個問號(?)來顯式說明。
\\ 這會是一項可選特性,目前的想法是,對於將公升級到c# 8的現有專案,可空引用型別特性是關閉的。對於新專案,微軟傾向於預設開啟這項特性。
\\ 警告會進一步分成潛在錯誤和表面警告。例如,如果p.middlename是乙個string?,那麼下面這行**會是乙個表面警告:
\\
string middlename = p.middlename;\
\\
由於危險只會出現在值解引用的時候,所以這種對區域性變數的賦值並不是乙個真正的問題。因此,你可以在遺留**上禁用這個警告,以減少誤報數量。
\\ 同樣,早於這項特性的庫也不會觸發警告,因為編譯器不知道乙個指定的引數是否應該視為可空的。
\\ github上提供了可空引用型別的預覽。
\\switch表示式
\\ switch塊通常用於簡單地返回單個值。在這個常見的場景中,其語法比實際完成的工作要複雜得多。考慮下下面這個使用模式匹配的例子:
\\
static string m(person person)\\";\ case studen s:\ return $\" ()\";\ default:\ return $\" \";\ }\}\
\\
在新的提案中,反覆出現的case和return語句可以省掉,其結果是下面這種更新、更緊湊的語法:
\\
static string m(person person)\\
Build 2018大會 C 的未來
在c 的未來特性清單上,排在第一位的是可空引用型別。我們第一次報道這個特性是在去年,這裡我們簡要的回顧一下 所有的引用變數 引數和字段預設都是非空的。然後,和值型別一樣,如果你希望它們可以為空,你就必須在型別名上加乙個問號 來顯式說明。這會是一項可選特性,目前的想法是,對於將公升級到c 8的現有專案...
Build 2018大會 C 的未來
在c 的未來特性清單上,排在第一位的是可空引用型別。我們第一次報道這個特性是在去年,這裡我們簡要的回顧一下 所有的引用變數 引數和字段預設都是非空的。然後,和值型別一樣,如果你希望它們可以為空,你就必須在型別名上加乙個問號 來顯式說明。這會是一項可選特性,目前的想法是,對於將公升級到c 8的現有專案...
Build 2018大會 C 的未來
在c 的未來特性清單上,排在第一位的是可空引用型別。我們第一次報道這個特性是在去年,這裡我們簡要的回顧一下 所有的引用變數 引數和字段預設都是非空的。然後,和值型別一樣,如果你希望它們可以為空,你就必須在型別名上加乙個問號 來顯式說明。這會是一項可選特性,目前的想法是,對於將公升級到c 8的現有專案...