C#

【C#】IEnumerableとIQueryableの違いと使い分け

C# でデータを扱う際によく登場する IEnumerable と IQueryable。どちらもコレクションを列挙するための仕組みですが、処理の実行
C#

【C#】非同期LINQ(System.Linq.Async)の活用方法

【C#】非同期LINQ(System.Linq.Async)の活用方法 C# では LINQ を使ってコレクションを効率的に操作できますが、通常の LINQ は同
C#

【C#】LINQでグルーピング・集計を行う方法|GroupByと集約関数

C# の LINQ を使うと、データをグループ化したり、合計や平均などの集計を簡潔に記述できます。特に GroupBy と組み合わせることで
C#

【C#】Dictionaryを安全に操作する方法|TryGetValueとGetValueOrDefault

C# の Dictionary<TKey, TValue> はキーと値を効率的に管理できる便利なコレクションですが、存在しないキーを参照すると例外が発生
C#

【C#】switch式でのパターンマッチング活用(型・プロパティ・論理パターン)

C# 8.0 以降では switch 文に加えて switch 式が導入され、より簡潔に条件分岐を記述できるようになりました。さらに C# 9.0 以降では
C#

【C#】null 許容参照型(nullable reference types)の基本

C# 8.0 以降では「null 許容参照型(nullable reference types)」が導入されました。これにより、参照型に null が代入可能かどう
C#

【C#】target-typed new 式でコードを簡潔に書く方法

C# 9 以降では target-typed new 式が導入され、右辺に型を明示しなくても左辺の型から推論できるようになりました。これによりコード
C#

【C#】global using の使い方とメリット

C# 10 では global using が導入され、全ファイル共通で利用できる using 宣言を簡単に定義できるようになりました。これにより、
C#

【C#】非同期メソッドで戻り値を扱う方法(Task<T>の活用)

C# の非同期処理では async / await を利用するのが一般的です。その際、非同期メソッドから値を返すには Task<T> を使います。こ
C#

【C#】設定ファイル(appsettings.json)を扱う方法|IOptionsパターン

C#/.NET アプリケーションでは、接続文字列や外部サービスのキーなどをソースコードに直書きせず、appsettings.json などの設定フ
C#

【C#】ログ出力の基本|ILoggerとSerilogの使い方

C#/.NET で開発を行う際、ログ出力はアプリケーションの動作確認やトラブルシューティングに欠かせません。.NET には標準
C#

【C#】シングルトンパターンの実装方法と注意点

シングルトンパターンは「アプリケーション全体でインスタンスをひとつだけにする」デザインパターンです。設定値やロガー、
C#

【C#】非同期処理と並列処理の違い|TaskとParallelの使い分け

C# では Task を使った非同期処理と、Parallel クラスを使った並列処理を実装できます。一見似ている両者ですが、目的や動作の
C#

【C#】非同期処理と並列処理の違い|TaskとParallelの使い分け

C# では Task を使った非同期処理と、Parallel クラスを使った並列処理を実装できます。一見似ている両者ですが、目的や動作の
C#

【C#】依存性注入(DI)の基本と実装例

依存性注入(Dependency Injection, DI)は、クラスが必要とするオブジェクトを自分で生成せず外部から受け取る設計手法です。具体
C#

【C#】init専用プロパティの使い方|イミュータブルなオブジェクト設計

C# 9.0 以降では init アクセサが導入され、オブジェクト初期化子でのみ値を設定できる「init専用プロパティ」を定義できるように
C#

【C#】タプル(Tuple / ValueTuple)の使い方と利点

C# では複数の値をひとまとめに扱いたいときに「タプル(Tuple)」が利用できます。クラスや構造体をわざわざ定義しなくても、一時的
C#

【C#】パターンマッチングの強化|switch式の活用

C# 8.0 以降ではパターンマッチング機能が大幅に強化され、従来の switch 文に加えて switch 式が利用できるようになりました。これに
C#

【C#】QueueとStackの違いと使い分け

C# には「Queue(キュー)」と「Stack(スタック)」という代表的なデータ構造が用意されています。どちらもデータを一時的に保存して
C#

【C#】HashSetの使い方|重複を許さないコレクション

C# の HashSet<T> は、要素の重複を許さないコレクションです。リストのように順序は保証されませんが、高速な検索・追加・削除が可