前回、.NET 9 Preview 1 をインストールしました。
rksoftware.hatenablog.com
今回はいよいよコードを書いてみましょう。
■ Visual Studio のプレビュー版
Visual Studio のプレビュー版で .NET 9 Previre 1 のプロジェクトを作成してみます。
プロジェクト作成のウィザードで選べます。Visual Studio Installer では .NET 9 のプレビュー版のインストールはしてくれませんでしたが、インストールされれば使えるようですね。
簡単ですね。
Visual Studio 通常版
通常版では選べませんでした。
.csproj
特に変哲なく net9.0
でした。
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net9.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> </Project>
dotnet コマンド
.NET 9 Preview 1 環境での dotnet コマンドでも当たり前ですが同じ、net9
でプロジェクトが作られます。
donet new console
■ コードを書いてみる
いよいよコードです。.NET 9 で追加された LINQ の .CountBy
を書いてみます。
char[] t = ['a', 'b', 'a', 'a', 'b', 'c']; IEnumerable<KeyValuePair<char, int>> m = t.CountBy(x => x); // a: 3, b: 2, c: 1 Console.WriteLine(string.Join(", ", m.Select(x=>$"{x.Key}: {x.Value}")));
実行結果
a: 3, b: 2, c: 1
すばらしい! 使えていますね。
■ net8 に変えてみる
きちんと .NET 9 のコードなのか確認するため、.csproj を net8
にしてみます。
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net8.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> </Project>
エラー
予定通り。.CountBy
がないというエラーになりました。
重大度レベル コード 説明 エラー CS1061 'char[]' に 'CountBy' の定義が含まれておらず、型 'char[]' の最初の引数を受け付けるアクセス可能な拡張メソッド 'CountBy' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください
■ そなえよう
.NET 9 たのしみですね! そなえよう。