C#

【C#】switch式の実戦パターン集|if-elseリファクタ・Strategy/State Machine・HTTP/認可/DDDまで10パターン

C# switch式の実戦的な活用パターンを10種類体系化。if-else連鎖のリファクタリング・HTTPステータス分類・ロールベース認可・状態遷移マシン・判別共用体(DU)・コマンドディスパッチ・料金計算・エラーコード変換・switch式 vs Dictionary vs virtual methodの比較・大規模switch式の分割保守まで。概念整理は5905、本記事は実装レシピ集。
C#

【C#】null許容参照型(NRT)完全ガイド|コンテキスト4状態・フロー解析・Nullable属性・ジェネリック対応・段階的移行まで

C# 8のnullable reference types(NRT)を完全解説。ランタイム挙動は不変(純粋にコンパイラ警告)・enable/disable/annotations/warningsの4コンテキスト・フロー解析・Nullable属性全種(NotNullWhen/MaybeNullWhen/NotNullIfNotNull/MemberNotNull/DoesNotReturn)・ジェネリック型パラメータの扱い・required連携・段階的移行戦略・落とし穴まで。
C#

【C#】target-typed new完全ガイド|var vs new()・使えるコンテキスト・コレクション式・.editorconfig設定まで

C# 9のtarget-typed newを完全解説。使えるコンテキスト全列挙(変数・フィールド・プロパティ・引数・return・throw・三項演算子・null合体)・var vs 明示型 vs new()の使い分け・コレクション式(C# 12)との関係・target-typed conditional/null coalescing・.editorconfig設定・チームポリシー・制限事項まで。
C#

【C#】global using完全ガイド|暗黙的using・.csproj制御・C# 12 any type alias・名前衝突・実践テンプレートまで

C# 10のglobal usingを完全解説。3つの形式(namespace/static/alias)・暗黙的using(ImplicitUsings)・.csprojのUsing要素による追加と削除・C# 12のany type alias・global using staticと拡張メソッドの制限・名前衝突の解決・GlobalUsings.csの実践テンプレート・NuGetライブラリでの注意点まで。
C#

【C#】Task完全ガイド|ValueTask・TaskCompletionSource・コンビネーター・async eliding・状態検査まで

C#のTaskを完全解説。Task vs Task vs ValueTaskの使い分け・Task.FromResult/FromException/FromCanceled・TaskCompletionSource・WhenAll/WhenAny/WhenEach(.NET 9+)・ContinueWith・async eliding・Taskの共変性問題・状態検査(IsCompleted/IsFaulted)・.Resultのデッドロック・IAsyncEnumerableとの比較まで。
C#

【C#】appsettings.json完全ガイド|構成プロバイダー・Options Validation・Named Options・User Secrets・環境変数まで

C#/.NETのappsettings.jsonを完全解説。構成プロバイダーの優先順位・環境別オーバーライド・IOptions/IOptionsSnapshot/IOptionsMonitorの使い分け・DataAnnotations/IValidateOptions/ValidateOnStartによるバリデーション・Named Options・PostConfigure・User Secrets・環境変数・配列バインド・reloadOnChange・カスタムプロバイダーまで。
C#

【C#】ログ出力完全ガイド|ILogger・構造化ログ・LoggerMessage・Serilog・スコープ・パフォーマンス最適化まで

C#/.NETのログ出力を完全解説。ILoggerの構造化ログ(メッセージテンプレート)・LoggerMessage.Define/[LoggerMessage]ソースジェネレーター・BeginScope・appsettings.jsonでのフィルタ・Serilogの全Sink/Enricher/Filter・IHostBuilder連携・2段階初期化・相関ID・パフォーマンス最適化・PII漏洩対策まで。
C#

【C#】シングルトン完全ガイド|6実装パターン比較・Lazy・beforefieldinit・DI・アンチパターンまで

C#のシングルトンパターンを徹底解説。6種類の実装(Eager/静的コンストラクタ/Lazy/Double-Checked Locking/Nested Type/DI)を比較。LazyThreadSafetyMode・beforefieldinit・スレッドセーフ性・テスタビリティ・IDisposable・リフレクション対策・Singleton vs Static vs DIの使い分け・アンチパターンまで。
C#

【C#】非同期・並列処理の実践パターン集|Fan-out/Rate Limit/Pipeline/Worker Pool/エラーハンドリングまで

C#の非同期・並列処理の実践パターンを10種類体系化。Fan-out/Fan-in・SemaphoreSlimによるレート制限・パイプライン処理・Worker Pool・Producer/Consumer・Map-Reduce・部分失敗の処理・タイムアウト・リトライ・キャンセル連携まで、実コードとベンチマーク観点で解説。概念整理は5914、本記事は実装レシピ集。
C#

【C#】非同期処理と並列処理の違い完全ガイド|Task・Parallel・PLINQ・Dataflow・Channelsの使い分け

C#の非同期・並列・マルチスレッド・同時実行の4つの概念を整理。I/O-bound vs CPU-boundの判断基準・Task.RunとasyncTaskの違い・Parallel.For/ForEach/Invoke/ForEachAsync・PLINQ・TPL Dataflow・Channels・MaxDegreeOfParallelism・ThreadLocal・False Sharing・sync over asyncの落とし穴まで。
C#

【C#】依存性注入(DI)完全ガイド|ライフタイム・Keyed Services・Decorator・HostedService・落とし穴まで

C# / .NET の依存性注入を完全解説。3つの注入パターン・Singleton/Scoped/Transientライフタイム・Captured Dependencies問題・Keyed Services(.NET 8+)・IEnumerable複数登録・Decoratorパターン・Factory登録・IOptions vs IOptionsSnapshot vs IOptionsMonitor・HostedService・Primary Constructor連携・ValidateOnBuild・よくある落とし穴まで。
C#

【C#】init専用プロパティ完全ガイド|IsExternalInit・required連携・with式・深い不変性・スレッドセーフまで

C# 9.0 initアクセサを完全解説。内部実装(IsExternalInit)・.NET Standard 2.0での利用・requiredとの組み合わせ(C# 11)・浅い不変性 vs 深い不変性・with式・継承時の振る舞い・スレッドセーフ性・System.Text.Jsonシリアライズ・実践的なDDD/DTO設計まで。
C#

【C#】タプル完全ガイド|Tuple vs ValueTuple・名前付き要素・分解・タプル等価・パターンマッチング・recordとの使い分けまで

C#のタプル(Tuple / ValueTuple)を完全解説。参照型 vs 値型の違い・名前付き要素・Deconstruct実装・タプル等価演算(==)・LINQ/パターンマッチングとの連携・recordとの使い分け・8要素超のRest・ITuple・よくある落とし穴まで。
C#

【C#】パターンマッチング完全ガイド|全パターン種別・switch式・is式・list/positional/relational・C#バージョン別機能まで

C#のパターンマッチングを全パターン種別(宣言・型・定数・関係・論理・プロパティ・位置・List・var・破棄)で体系的に解説。switch式・is式・when節・網羅性(CS8509)・C# 7〜12のバージョン別追加機能・records/Deconstruct連携・実践パターンまで。
C#

【C#】QueueとStack完全ガイド|内部構造・PriorityQueue・Channels・Concurrent版・実践パターンまで

C# QueueとStackを完全解説。リングバッファの内部構造・TryDequeue/TryPop・PriorityQueue(.NET 6+)・ImmutableQueue/Stack・ConcurrentQueue/ConcurrentStack・Channels・BFS/DFS/Undo-Redo実装パターン・よくある落とし穴まで。
C#

【C#】HashSet完全ガイド|内部構造・集合演算・IEqualityComparer・SortedSet・FrozenSet・スレッドセーフまで

C# HashSetを完全解説。ハッシュテーブルの内部構造・Add/Contains/Removeの計算量・集合演算(UnionWith/IntersectWith/ExceptWith)・StringComparer・SortedSet・ImmutableHashSet・FrozenSet(.NET 8+)・スレッドセーフ実装・LINQ Distinct vs HashSet・よくある落とし穴まで。
C#

【C#】Dictionary完全ガイド|内部構造・安全な操作・IEqualityComparer・ConcurrentDictionary・SortedDictionaryまで

C# Dictionaryを完全解説。ハッシュテーブルの内部構造・TryAdd/TryGetValue・カスタム等値比較器(StringComparer)・ConcurrentDictionary・SortedDictionary vs SortedList・ImmutableDictionary・FrozenDictionary・LINQ活用・よくある落とし穴まで。
C#

【C#】属性(Attribute)完全ガイド|AttributeUsage・組み込み属性・CallerInfo・DataAnnotations・リフレクションまで

C# 属性(Attribute)を完全解説。AttributeUsageのAllowMultiple/Inherited・組み込み属性(Obsolete/Conditional/DebuggerDisplay/Flags/DllImport)・CallerMemberName等の呼び出し元情報・カスタム属性設計・DataAnnotations検証・System.Text.Json属性・リフレクション取得まで。
C#

【C#】CancellationToken完全ガイド|Register・伝播・Dispose・ASP.NET Core連携まで

C# CancellationTokenを完全解説。CancellationTokenSourceの構造・3つのキャンセル確認方法・Register()コールバック・Token.Noneとdefaultの違い・非同期チェーン伝播・CreateLinkedTokenSource・Dispose漏れ防止・ASP.NET Core RequestAborted・グレースフルシャットダウンまで。
C#

【C#】例外フィルター(when句)完全ガイド|スタック保全・ログパターン・パターンマッチング・実践例まで

C# 例外フィルター(when句)を完全解説。falseのときスタックが巻き戻されない仕組み・ログ専用フィルターパターン・パターンマッチングとの組み合わせ・catch内if-rethrowとの違い・HttpStatusCode別ハンドリング・SqlException.Number・ExceptionDispatchInfoまで。