• システム開発に関わる内容をざっくりと書いていく

ロジック

ArgumentNullException と NullReferenceException の使い分け

ArgumentNullException と NullReferenceException は、どちらも「null」が絡む例外だが、意味も出し方も違う。 現場では「どっちを投げればいい?」「どっちが落ちた?」で迷いやす ...

続きを読む

InvalidOperationException よくある発生パターン(LINQ / DI / コレクション)

InvalidOperationException は「今の状態ではその操作はできない」ときに出る。メッセージだけ見ると抽象的で、現場では LINQ・DI・コレクション周りでよく当たる。 この記事では、よくある発生パター ...

続きを読む

ObjectDisposedException 発生原因と対策

ObjectDisposedException は、「すでに破棄(Dispose)されたオブジェクトを使った」ときに出る。HttpClient・Stream・DbContext・CancellationTokenSour ...

続きを読む

C# async await デッドロック・待ち続けるときの見方

C# の async/await で「終わらない」「UI やリクエストが固まる」ときは、例外より待ち方の設計が原因なことが多い。 この記事では、デッドロックっぽく見える待ちと、よくある直し方をざっくり整理する。 先に結論 ...

続きを読む

C# HttpClient タイムアウト設定方法

HttpClient で外部 API を叩いていると、「たまに固まる」「タイムアウトで落ちる」が起きやすい。設定箇所が複数あるので、逆引きできるように整理する。 この記事では、どこにタイムアウトがあるかと現場での決め方を ...

続きを読む

System.NullReferenceException C# 発生原因と対策

System.NullReferenceException は、C# で一番よく見る例外のひとつ。「オブジェクト参照がオブジェクト インスタンスに設定されていません」と出て、処理が止まる。 この記事では、よくある発生原因 ...

続きを読む

C# async/awaitの必要性(処理観点)

1. 非同期処理が多いバックエンドでは基本的に必要 C# のバックエンド開発では以下のような非同期処理が一般的: これらを同期処理として実行すると、スレッドがブロックされ、バックエンドのスケーラビリティが低下。一方、as ...

続きを読む

C#の”?”の使い方

C#の”?”(クエスチョンマーク)は、主にnull許容型や条件演算子に使用され、コードの安全性や可読性を向上させる。ここでは、”?”がどのように使われるかを具体例とともに解 ...

続きを読む

C#の”!”の使い方

C#の”!”(エクスクラメーション)は、コード内でさまざまな用途で使われる記号で、主に論理否定やnullチェックの意味を持つ。ここでは、”!”がどのように使われるかを具体例 ...

続きを読む

CsvHelperでCSV作成

オブジェクトのコレクションを渡すだけで、項目に対応したCSVを作成してくれるので便利。 1、NugetからCsvHelperを取得 2、コーディング *区切り文字を含んでいる文字列には””で囲んで ...

続きを読む