.NET 6新特性试用 | 总结:我最喜欢的5个特性
前言
不知不覺,《.NET 6新特性試用》系列文章已經寫了20多篇,而今天終于要告一段落了。
如果你還沒有看過,詳細文章列表在這里:
.NET 6新特性試用系列
在這么多特性中,我最喜歡如下5個特性:
1、最小Web API
僅需三行代碼,就可以生成一個完整功能的Web API:
var?app?=?WebApplication.Create(args);app.MapGet("/",?()?=>?"hello?My?IO!");app.Run();雖然這看起來非常簡陋,但是必須看到這個特性的真正價值——對于新人來說,更容易入門和理解。
與其在開始時就使事情變得復雜,不如先簡化事情再稍后增加復雜性。
2、熱重載
修改代碼后無需重新編譯,就可以將代碼更改立即應用于正在運行的應用程序上。
通過減少等待應用重新生成、重啟、重新導航到你在應用中的上一個位置等操作的時間來提高工作效率。
3、隱式using指令
再也不用在cs文件中寫大量using指令了,只需修改項目文件,即可增加我們的global using:
<ItemGroup><Using?Include="GlobalUsingDemo"?/> </ItemGroup>這可以大大減少模板文件的代碼,使你的代碼更加緊湊。
4、擴展屬性模式
可以使用.引用對象屬性的嵌套成員,進行模式匹配:
if(obj?is?Employee?{?Manager.Name:"lisi",?Manager.Manager.Position:?"CEO"?}?employee)這可以使模式匹配表達式更易于閱讀,特別是對于嵌套較深的類型。
擁有的嵌套越多,此功能就越強大。
5、System.Text.Json序列化代碼自動生成
只需簡單的幾行代碼:
[JsonSerializable(typeof(WeatherForecast))] internal?partial?class?WeatherForecastContext?:?JsonSerializerContext { }就可以在編譯時自動生成序列化代碼,提升性能:
private?static?void?WeatherForecastSerializeHandler(global::System.Text.Json.Utf8JsonWriter?writer,?global::WebApplication1.WeatherForecast??value) {if?(value?==?null){writer.WriteNullValue();return;}writer.WriteStartObject();writer.WriteNumber(PropName_TemperatureC,?value.TemperatureC);writer.WriteNumber(PropName_TemperatureF,?value.TemperatureF);writer.WriteString(PropName_Summary,?value.Summary);writer.WriteEndObject(); }以前都是我們自己用Source Generator開發功能,現在終于微軟自己也用上了。
結論
當然,.NET 6新特性遠遠不止于此,只是限于作者精力和能力有限,沒有在這個系列中全部體現出來。
如果大家有任何想法和建議,歡迎到公眾號“My IO”后臺留言與我交流!
總結
以上是生活随笔為你收集整理的.NET 6新特性试用 | 总结:我最喜欢的5个特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET 6新特性试用 | Period
- 下一篇: .Net下你不得不看的分表分库解决方案-