1. 程式人生 > >C#9.0 終於來了,帶你一起解讀Pattern matching 和 nint 兩大新特性玩法

C#9.0 終於來了,帶你一起解讀Pattern matching 和 nint 兩大新特性玩法

## 一:背景 ### 1. 講故事 上一篇跟大家聊到了`Target-typed new` 和 `Lambda discard parameters`,看部落格園和公號裡的閱讀量都達到了新高,甚是欣慰,不管大家對新特性是多頭還是空頭,起碼還是對它抱有一種極為關注的態度,所以我的這個系列還得跟,那就繼續開擼吧,今天繼續帶來兩個新特性,更多新特性列表,請大家關注:[新特性預覽]( https://github.com/dotnet/roslyn/blob/master/docs/Language%20Feature%20Status.md "新特性預覽") ## 二:新特性研究 ### 1. Native ints 從字面上看貌似是什麼原生型別ints,有點莫名其妙,還是看一看`Issues`上舉得例子吧: ``` C# Summary: nint i = 1; and nuint i2 = 2; Shipped in preview in 16.7p1. ``` 有點意思,還是第一次看到有nint這麼個東西,應該就是C#9新增的關鍵詞,好奇心爆棚,快來實操一下。 ``` C# static void Main(string[] args) { nint i = 10; Console.WriteLine($"i={i}"); } ``` ![](https://huangxincheng.oss-cn-hangzhou.aliyuncs.com/img/20200612222044.png) 從圖中看,可以原樣輸出,然後用ILSpy查查底層IL程式碼,發現連IL程式碼都不用看