[C#] C#14的新關鍵字 field , .NET 10 之後才能用
2025-12-01
最近 Visual Studio 2026 正式推出了,伴隨而來的就是 .Net10 因為有 LTS 版本
看來會是這陣子主要升級專案的目標,對我來說每次更西,我都會看一下多什麼,有啥是可以馬上遇到的..
.NET 10 加入一個很小但影響很大的語法糖
叫做 "field",繼上次我記得是 2007 之後 get;set;
我覺得算一個語法上的改進,不過我想應該也是語法糖而已,等等晚點用 MSIL 來看看
在很久以前,我們在寫 物件的 Property 我們會這樣做
之後2007 , get;set; 出現後,我們大概會寫成這樣
但是,有時候我們必須要在 Property 做一些處理,這時候我們又得回到最原始需要一個 private 的時候
不過,至於 value 在 setter 有用已經很方便了,但是新的 ,NET10 之後,在 getter 這邊可以使用到 field 這關鍵字
用法如下
所以配合 field 我們可以在 getter 那邊進行改造
這應該是目前,看到 .NET10 進化裡面最簡單的一個關鍵字, field 他就猶如你寫了一個 private 的參數
你可以在裡面施展一些你想封裝的東西奇技淫巧。
"field" 的核心價值是讓你不需要 private 欄位
也能在 getter 與 setter 裡建立完整邏輯,而且寫起來更簡潔
這邊附上 .NET9 跟 .NET10 的 MSIL 比較
.NET 9 單純 get;set;
.NET 10 field 後的 MSIL

