はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

.NET 5始めました!

[jp].NET 5がリリースされました。

dotnet.microsoft.com
SDKなど個別にダウンロードしなくても、Visual Studio 2019も16.8.1にアップデートすると、.NET 5を含んだ形の開発環境になります。
そのため、もし、.NET 5を始めるならば、個別ダウンロードよりもVisual Studio 2019の最新化をお勧めします。
これで、.NET Core 2.1 LTS / .NET Core 3.1 LTS / .NET 5の3つから選択ができますね。
そして、WPFで作成するならば、.NET Core 3.1 LTSか、.NET 5でということになります。
.NET 5での変更点で気になるところをピックアップしてみましょう。

C# 9.0

.NET 5では、C# 9.0が使えます。
C# 9.0 の新機能 - C# ガイド | Microsoft Docs

最上位ステートメント

これからは、コンソールに「Hello World!」と表示したいときは、次の1行になります。

System.Console.WriteLine("Hello World!");

**

変数宣言と同時に初期化したいときなど、varが使えないところだったりするとイコールの右と左に同じように型名を書かないといけないですよね。
これからは、左側だけ書けば、右側は「new()」と型名なしで書けるようになります。シンプルです。

private List _observations = new();

これ、左側が省略だったら、var と同じ感覚だったので、個人的な感想としては左側の型名省略だったら更にうれしかったかも。

WPFアプリ作成時の変更点

WPF SDK(Microsoft.NET.Sdk.WindowsDesktop)から、.NET SDK(Microsoft.NET.Sdk) に変更なりました。
変更しないとコンパイル時にワーニング表示されます。
もし、.NET Core 3.1のプロジェクトのターゲットを.NET 5に変えたならば、csprojファイルで

Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"

となっているところを

Project Sdk="Microsoft.NET.Sdk"

にかえておきましょう。

まとめ

.NET 5はいいぞっ!