C# 15 には、次の新機能が含まれています。 最新の Visual Studio 2026 バージョンまたは .NET 11 プレビュー SDK を使用して、これらの機能を試すことができます。
C# 15 は最新の C# リリースです。 C# 15 は .NET 11 でサポートされています。 詳細については、C# 言語のバージョン管理 を参照してください。
最新の .NET 11 プレビュー SDK は 、.NET ダウンロード ページからダウンロードできます。 .NET 11 プレビュー SDK を含む Visual Studio 2026 Insider をダウンロードすることもできます。
新しい機能は、パブリック プレビュー リリースで利用可能になると、[C# の新機能] ページに追加されます。 roslyn 機能ステータス ページのワーキング セット セクションは、今後の機能がメイン ブランチにマージされたときに追跡します。
C# 15 で導入された破壊的変更については、破壊的 変更に関する記事を参照してください。
注
これらの機能に関するフィードバックに関心があります。 これらの新機能のいずれかに問題がある場合は、dotnet/roslyn リポジトリに新しい問題を作成します。
コレクション式の引数
with(...)要素をコレクション式の最初の要素として使用することで、基になるコレクションのコンストラクターまたはファクトリ メソッドに引数を渡すことができます。 この機能を使用すると、容量、比較子、またはその他のコンストラクター パラメーターをコレクション式の構文内で直接指定できます。
次の例は、容量引数を List<T> コンストラクターに渡し、比較子を HashSet<T>に渡す方法を示しています。
string[] values = ["one", "two", "three"];
// Pass capacity argument to List<T> constructor
List<string> names = [with(capacity: values.Length * 2), .. values];
// Pass comparer argument to HashSet<T> constructor
HashSet<string> set = [with(StringComparer.OrdinalIgnoreCase), "Hello", "HELLO", "hello"];
// set contains only one element because all strings are equal with OrdinalIgnoreCase
コレクション式の引数の詳細については、コレクション式または機能の仕様に関する言語リファレンス記事を参照してください。 コレクション初期化子でコレクション式引数を使用する方法については、「 オブジェクト初期化子とコレクション初期化子」を参照してください。
.NET