2026-09-12 comparisoncsharpdotnet C# で重複キーを扱うなら Lookup<TKey, TElement> か Dictionary<TKey, List<TValue>> か 一度グループ化して読むだけなら ToLookup を使います。不変で、存在しないキーには空のシーケンスを返し、null キーを受け付け、最初に現れた順序を保ちます。構築後にグループが変化する場合や JSON の境界をまたぐ場合は Dictionary<TKey, List<TValue>> を使います。
2026-09-11 csharpcsharp-15dotnet-11 ASP.NET Core 11 の C# ユニオン: ボディ、SignalR、OpenAPI は動き、クエリ文字列は動かない ASP.NET Core チームが、.NET 11 で C# 15 の union 型がどこで使えるかを整理しました。Minimal API と MVC のボディ、SignalR の JsonHubProtocol、Blazor、OpenAPI の anyOf スキーマです。ルート、クエリ、ヘッダー、フォームからのバインドはまだサポートされていません。
2026-09-10 dotnet-11aspnetcoresignalr .NET 11 RC 1 の SignalR は接続を切らずに期限切れ間近のトークンを差し替えます SignalR の認証リフレッシュ API が .NET 11 RC 1 で確定しました。HubConnection 上に改名されたコールバック、TypeScript クライアント、そして更新後の ClaimsPrincipal を自動で取り込む Blazor Server の回線が含まれます。
2026-09-09 dotnet-11csharpprocess .NET 11 RC 1 では P/Invoke なしで子プロセスに SIGTERM を送れます .NET 11 RC 1 で Signal、WaitForExitStatus、ProcessExitStatus が System.Diagnostics.Process に直接追加され、子プロセスのグレースフルな停止に kill の P/Invoke も SafeProcessHandle 経由の迂回も不要になりました。
2026-09-07 dotnetdotnet-11csharp ASP.NET Core を参照せずに型付き HttpClient から RFC 9457 の ProblemDetails レスポンスを読み取る方法 BCL に ProblemDetails 型は存在せず、Microsoft.AspNetCore.App への FrameworkReference を追加すると、ランタイムだけのコンテナーでクライアントが起動を拒否します。仕事をこなす 20 行のモデル、problem+json を型付き例外に変える DelegatingHandler、そして今なお多くの回答が繰り返している content-type の神話を扱います。
2026-09-07 dotnetdotnet-11csharp .NET MAUI の Android アプリで ANR を引き起こす async void ハンドラーを見つける方法 Play Console は ANR 率が 0.47% を超えたと伝え、libcoreclr.so のフレームだらけのネイティブスタックトレースを渡してきます。その役に立たないトレースから、メインスレッドをブロックした async void イベントハンドラーそのものへたどり着く方法を、Looper の printer、状態マシン名を出す SynchronizationContext ラッパー、dsrouter 経由の dotnet-trace で解説します。
2026-09-06 ef-coreef-core-11concurrency EF Core 11 で UPDLOCK と SELECT ... FOR UPDATE を使って悲観的ロックを取る方法 EF Core 11 にはいまだにロック用の API がありません。FromSql で実際の行ロックを取る方法を解説します。SQL Server では WITH (UPDLOCK, ROWLOCK)、PostgreSQL では FOR UPDATE、ロック範囲を静かに広げてしまうサブクエリの罠、NOWAIT と SKIP LOCKED、デッドロックのリトライ、そして行がまだ存在しない場合の対処法まで。
2026-09-06 ef-coreef-core-11value-converters データベースの null をコード上の非 null 値へ変換する EF Core 11 の value converter の書き方 EF Core はデフォルトでは value converter に null を渡しません。それを変える内部 API の convertsNulls コンストラクター、依存する IsRequired(false) の呼び出し、enum などの値型でどうしても機能しない理由、生まれてしまう WHERE col = NULL の罠、そして内部 API を使わずに目的を果たす 2 つのパターンを解説します。
2026-09-05 blazoraspnetcoredotnet-11 Blazor のレンダーモードとは何か、どれが自分のコンポーネントを実行しているのか レンダーモードは Razor コンポーネントがどこで実行され、インタラクティブになるかどうかを決めます。.NET 11 の 4 つのモード、コンポーネントが何を継承するかを決める伝播ルール、そして実行時にどのモードが適用されたかを教えてくれる RendererInfo と AssignedRenderMode を解説します。
2026-09-05 ef-coredotnet-11csharp EF Core のインターセプターとは何か、どんなときに必要か EF Core のインターセプターは、コマンドの実行や SaveChanges といった操作の前後で EF が呼び出すクラスで、観察するだけでなく操作を変更したり抑制したりできます。EF Core 11 の 7 つのインターセプトポイント、登録とライフタイムの規則、そしてクエリフィルターやログ出力のほうが適している場面をまとめます。