rksoftware

Visual Studio とか C# とかが好きです

C# 13 の新機能を試す params

params がパワーアップしました。

M2(1, 2);
M3(1, 2);

static void M1(params inに t[] a) { }
// これができるようになった
// .csproj に <LangVersion>Preview</LangVersion> と足さないとエラー
//  CS8652 機能 'params コレクション' は現在、プレビュー段階であり、*サポートされていません*。プレビュー機能を使用するには、'preview' 言語バージョンを使用してください。
static void M2<T>(params IEnumerable<T> a) => Console.WriteLine(a.GetType().Name);  // <>z__ReadOnlyArray`1
static void M3<T>(params List<T> a) => Console.WriteLine(a.GetType().Name);  // List`1

このコードは Visual Studio のプレビュー版で書けました。

■ 拡張メソッド

拡張メソッドのほうは書いてもまだコンパイルが通りませんでした。残念。また後日試します。

■ 情報元

このブログ記事の内容です。

devblogs.microsoft.com