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

ロジック

C# CancellationToken でタイムアウトを実装する

処理の打ち切りは CancellationToken で下流まで伝えるのが定石。タイムアウトも「一定時間後に Cancel」として同じ経路に乗せると扱いやすい。 先に結論 基本パターン using var cts = C ...

続きを読む

C# ConfigureAwait(false) が必要な場面・不要な場面

ConfigureAwait(false) は「続きを元の同期コンテキストに戻さない」指定。ライブラリや ASP.NET Core の扱いが混同されやすいので、場面で分ける。 先に結論 必要な場面 不要な場面 // ライ ...

続きを読む

ざっくり C# OperationCanceledException と Timeout の違い(CancellationToken の概念)

非同期処理のログで「止まった」「キャンセルされた」「タイムアウトした」がごちゃまぜになりやすい。C# では、その土台に CancellationToken があり、表面に出る例外が OperationCanceledEx ...

続きを読む

C# FormatException / パース失敗の原因と対策

FormatException やパース失敗は、入力文字列と想定フォーマットのズレで起きる。日付・数値・GUID・Enum 変換でよく踏み、ロケールやトリム漏れが原因になりやすい。「例外で落とすか、TryParse で返 ...

続きを読む

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、コーディング *区切り文字を含んでいる文字列には””で囲んで ...

続きを読む