みんなの現場、全部ここに。
図鑑・記事・現場メモ・キャリア論。タブで部屋を切り替えて読める。

C# DateTime と DateTimeOffset の違い・タイムゾーン処理の正解(業務SE本番事故編)
今回は業務系のC#でガチで本番事故るやつ!!の話。 「受発注ログの時刻が1時間ズレてて、ユーザーから『私が登録した時刻と表示が違う』って問い合わせ来た」「SQL ServerにDat

C# 文字列結合のパフォーマンス完全比較(+ / Concat / StringBuilder / Format / 補間)
C# の文字列結合 5 パターン(+ / String.Concat / StringBuilder / String.Format / 補間)を 10 万回ループの Stopwatch で実測比較。ループでは StringBuilder、少数の静的結合は + が正解。.NET Framework 4.7.2 / C#

SQL Server のカーソルを使うべきタイミングと書き方(業務SE現場の判断軸)
今回は業務SE現場でガチで判断に詰まりやすいやつ!!の話。 「先輩が古いストアドの中でDECLARE CURSORしてベタ書きしてる、これ俺が引き継ぎで保守する時、書き直すべきっすか?

C# ファイルIO の正解 — StreamReader / File.ReadAllLines / File.ReadLines / using の使い分け
C# のファイル読み込み 3 系統(StreamReader / File.ReadAllLines / File.ReadLines)と using の使い分け。Shift-JIS の文字化け、1GB ログで OutOfMemory、改行コードで全行が 1 行化する事故を防ぐ書き方を Stopwatch と GC 実

WinForms で UseWaitCursor が戻らないバグの解決法(業務SE目線)
今回はWinForms業務系の現場でガチで踏みやすいやつ!!の話。 「Cursor.Current = Cursors.WaitCursorを入れたのに砂時計が出ない」「処理は終わって

Controller は WinForms の Form_Load 拡張版だと理解する — ASP.NET MVC 5 業務SE 入門
今回はASP.NET生存ガイド連載・第2回の本論記事。WinForms業務SEがガチで詰まりやすいやつ!!の話。 ASP.NET MVC 5のプロジェクトを開いてController

SQL Server の DBNull を C# で安全にハンドリングする5つのイディオム
今回は業務系のC#でガチで踏みやすいやつ!!の話。 朝、客先で席に着いてOutlookを開いた瞬間、

C# DataTable を LINQ でフィルタ・GroupBy・分割する3パターン
C#のDataTableいじってると、「これLINQで書きたい」って思った瞬間にコンパイルエラーで止

C# OpenFileDialog をフォームのフィールドにする時の正しい書き方
C# の OpenFileDialog(ファイル選択ダイアログ)をフォームのフィールドにする書き方。using 版との使い分け、前回フォルダの記憶、InitialDirectory 上書きなどハマり 3 点。

C# でリストの重複を一意にする3つの書き方(Distinct / GroupBy / HashSet)
DataAdapterで取ってきたDataTableをList<T>に詰め替えて、画面に表示するためにマ

C# Interface の継承判定と暗黙キャストの定石(is / as / 暗黙キャスト 3パターン)
今回はC#業務系でInterface触る時にガチでよく迷うやつ!!の話。 DataAccess層を抽象化したくてIDataLoaderみたいなInterfaceを切ったはいいけど、「呼

C# Linq で Null を回避する書き方とパフォーマンス(業務SEのコピペで動くやつ)
今回は業務SE現場でガチで踏みやすいやつ!!の話。 「DataTableからList<T>に積んでLinqでフィルタかけたら、NullReferenceExceptionで