2026-06-20 csharpdotnetasync ValueTask<T> とは何か、そしていつ使う価値があるのか ValueTask と ValueTask<T> は、同期的に完了する場合に Task をヒープ割り当てせずに非同期メソッドが結果を返せるようにする構造体です。利点は、待機せずに完了することが多いホットパスで割り当てが 1 つ減ることです。代償は厳格な await-once 契約です。この型が実際に何であるか、どう動作するか、そしてその価値を発揮する狭い範囲のケースを解説します。
2026-06-19 csharpdotnetdotnet-11 ソースジェネレーターとは何か、いつ必要になるのか? C# のソースジェネレーターについてのわかりやすいガイドです。実際に何をするのか、IIncrementalGenerator のパイプラインがどう動くのか、リフレクションや T4 より優れるのはどんなときか、そして使うべきでないケースまで解説します。.NET 11 と C# 14 で動く例つきです。
2026-06-19 csharpdotnetdotnet-11 IAsyncEnumerable<T> とは何か、いつ使うべきか IAsyncEnumerable<T> は非同期ストリームのためのインターフェースです。要素が時間とともに到着し、それぞれの生成に await が必要になり得るシーケンスです。それが実際に何であるか、await foreach と yield がどう駆動するか、そして Task<List<T>> ではなくこれを選ぶ基準を解説します。
2026-06-19 dotnetnative-aotperformance Native AOT とは何か、そして何を犠牲にするのか? Native AOT は .NET アプリを JIT のない単一の自己完結型ネイティブバイナリにコンパイルし、高速な起動と小さなメモリフットプリントを手に入れます。その代償は、ビルド時の C ツールチェーン、遅くなるパブリッシュ、RID ごとのビルド、リフレクションや Reflection.Emit の不可、必須のトリミング、そして Dynamic PGO の不在です。ここに完全な収支を示します。
2026-06-16 blazordotnet-11aspnetcore .NET 11 Preview 5 で Blazor static SSR に [SupplyParameterFromSession] が追加 静的サーバーレンダリングの Blazor でセッション状態を読むには、HttpContext.Session にアクセスして手動でシリアライズする必要がありました。.NET 11 Preview 5 は [SupplyParameterFromSession] を追加し、コンポーネントのプロパティをセッションキーに直接バインドします。
2026-06-15 comparisonef-coreef-core-11 EF Core 11 における AsNoTracking と AsNoTrackingWithIdentityResolution: どちらを使うべきか 読み取り専用のクエリにはデフォルトで AsNoTracking を使います。結果のグラフが同じエンティティを複数回含み、かつコードが単一の共有インスタンスを受け取ることに依存している場合にのみ AsNoTrackingWithIdentityResolution を使います。
2026-06-14 dotnetdotnet-11ef-core EF Core 11 の新しい EF1004 アナライザーが静かな非同期ミスを検出します EF Core 11 Preview 5 には EF1004 アナライザーが含まれます。IQueryable に対する ToAsyncEnumerable() を指摘し、await foreach の中でデータベースクエリを誤って同期的に列挙しないようにします。
2026-06-13 dotnet-11csharpcryptography .NET 11 Preview 5 で X25519 鍵共有が標準搭載されました .NET 11 Preview 5 は System.Security.Cryptography に第一級の X25519DiffieHellman 型を追加し、BouncyCastle や NSec なしで Curve25519 の鍵交換ができます。
2026-06-12 errorscsharpdotnet 解決: EF Core 11 の The entity type 'X' requires a primary key to be defined EF Core が型の主キーを見つけられません。プロパティを Id か {Type}Id と名付ける、[Key] を付ける、HasKey を呼ぶ、もしくはビューや生の SQL なら HasNoKey を呼びます。
2026-06-12 dotnet-11csharplinq .NET 11 Preview 5 で LINQ に FullJoin とセレクター不要の join が追加 .NET 11 Preview 5 は LINQ に全く新しい FullJoin 演算子を追加し、さらに Join、LeftJoin、RightJoin、GroupJoin に対して結果セレクターを完全に省けるタプルを返すオーバーロードを追加します。