C# 14 の機能
C# 14 で実際にリリースされたもの、コード付きで。
このまとめは C# 14 の言語機能について私が書いたすべてを集めたものです: union 型、partial コンストラクターとイベント、extension 型、そして公式のリリースノートでは見落としやすい細かなエルゴノミクスの改善。
まず読むべき記事
C# 12 から移行する場合は、union 型と partial メンバーに関する記事から始めてください。この 2 つが最大の動作変更です。その他はすべて使い勝手の改善です。
このページについて
下のリストは、c# 14、csharp 14、c#、csharp、c# language のいずれかのタグが付いた記事を自動的に集めたものです。新しい順に並びます。
インデックス (8 件)
2026 / 04
- .NET 11 で OpenAPI 仕様から強く型付けされたクライアントコードを生成する方法
Microsoft 公式の OpenAPI コードジェネレーターである Kiota を使って、任意の OpenAPI 仕様から fluent で強く型付けされた C# クライアントを生成します。インストール、生成、ASP.NET Core DI への組み込み、認証設定まで順を追って解説します。
- .NET 11 でメモリ不足にならずに大きな CSV を読む方法
.NET 11 で複数ギガバイトの CSV を OutOfMemoryException なしでストリーミングする。File.ReadLines、CsvHelper、Sylvan、Pipelines をコードと計測値で比較。
- デッドロックせずに C# の長時間 Task をキャンセルする方法
.NET 11 における CancellationToken、CancelAsync、Task.WaitAsync、リンクトークンを使った協調的キャンセル。そしてクリーンなキャンセルをデッドロックに変えてしまうブロッキングパターン。
- EF Core 11 で IAsyncEnumerable<T> を使う方法
EF Core 11 のクエリは IAsyncEnumerable<T> を直接実装しています。await foreach で行をストリーミングする方法、ToListAsync より好むべきタイミング、接続・トラッキング・キャンセルまわりの落とし穴。
- EF Core 11 で record を正しく使う方法
C# の record と EF Core 11 を組み合わせる実践的なガイド。record がどこに収まり、どこで change tracking を壊すのか、そしてフレームワークと戦わずに value object、エンティティ、プロジェクションをモデリングする方法。
- C# 14 のメソッドから複数の値を返す方法
C# 14 のメソッドから複数の値を返す 7 つの方法: 名前付きタプル、out パラメーター、records、structs、デコンストラクション、そして自分が所有していない型に対する extension member のトリック。実測ベンチマークと意思決定マトリクスを最後に掲載しています。
- .NET 11 Preview 3 の System.Text.Json が PascalCase とメンバー単位のネーミングポリシーを追加
.NET 11 Preview 3 は System.Text.Json のネーミングポリシーの話を完成させます: JsonNamingPolicy.PascalCase、メンバーレベルの [JsonNamingPolicy] 属性、そしてクリーンな DTO のための型レベルの [JsonIgnore] デフォルト。
- C# 14 のユーザー定義複合代入演算子: 余分なアロケーションなしの in-place +=
C# 14 では +=、-=、*= などをレシーバーを in-place で変更する void インスタンスメソッドとしてオーバーロードでき、BigInteger 風バッファやテンソルのような大きな値ホルダーのアロケーションを削減します。