C#

スポンサーリンク
C#

C# Tips | コレクション・LINQ:安全取得

はじめに:「安全取得」は“落ちないコード”を書くための必須スキル業務システムで一番イヤなのは、「たまたまデータがなかっただけで落ちる」パターンです。IndexOutOfRangeException、InvalidOperationExcep...
C#

C# Tips | コレクション・LINQ:キー存在判定

はじめに:「キー存在判定」は“ある前提で動くか・ない前提で動くか”を決めるスイッチ業務システムで Dictionary を使い始めると、必ず出てくる問いがあります。「このキー、本当にある前提で動いていいのか?」「なかったらどうする? エラー...
C#

C# Tips | コレクション・LINQ:Dictionary→List

はじめに:Dictionary→List は“いったん平らに戻す”操作Dictionary は「キーで一発検索できる」便利な入れ物ですが、ときどき「順番に並べて処理したい」「LINQ でゴリゴリ絞り込みたい」という場面が出てきます。そんなと...
C#

C# Tips | コレクション・LINQ:List→Dictionary

はじめに:「List→Dictionary」は“ただの列に索引をつける作業”業務コードを書いていると、最初はだいたい List<T> から始まります。社員一覧、商品一覧、売上明細一覧……どれもまずは「ただのリスト」です。でも、こう思う瞬間が...
C#

C# Tips | コレクション・LINQ:辞書変換

はじめに:「辞書変換」は“検索しやすい形に並び替える技”業務でよくあるのが、社員番号から社員情報をすぐ取りたい商品コードから商品情報を一発で引きたい部署コードから部署名をすぐ知りたいこういう「キーから素早く引きたい」場面です。このときに力を...
C#

C# Tips | コレクション・LINQ:最小値取得

はじめに:「最小値取得」は“いちばん小さい値を素早く見つける技”業務システムでは、最大値と同じくらい「最小値」もよく使います。最も安い商品価格最も古い日付(最初の処理日)最も少ない数量最も短い対応時間こうした「いちばん小さい値」を取り出す処...
C#

C# Tips | コレクション・LINQ:最大値取得

はじめに:「最大値取得」は“いちばん大きいものを一瞬で見つける技”業務システムでは、よくこういう問いが出てきます。「今日の売上の最大金額は?」「この顧客の最新購入日は?」「この一覧の中で、いちばん大きい値はどれ?」こういう「いちばん大きいも...
C#

C# Tips | コレクション・LINQ:平均算出

はじめに:「平均算出」は“感覚をつかみやすい数字に整える技”合計は「全体の大きさ」を教えてくれますが、平均は「1件あたりどれくらいか?」という“感覚”を教えてくれます。平均単価平均購入金額平均対応時間こういう数字は、業務の“重さ”や“効率”...
C#

C# Tips | コレクション・LINQ:合計算出

はじめに:「合計算出」は“バラバラなお金や数を一つの数字にまとめる技”業務システムで「合計」は、ほぼ必ず出てきます。売上合計数量合計工数合計C# / LINQ では Sum を使うことで、for 文を書かずに、「この列のここを足し合わせたい...
C#

日本の企業・官公庁が公開している無料API

日本では政府・自治体・企業が公開している無料APIが多数あります。実務や個人開発でよく使われるものを、カテゴリ別に整理して紹介します。官公庁・政府系API統計・経済データ1. 総務省統計局 – e-Stat API日本政府の統計データを取得...
C#

C# Tips | コレクション・LINQ:件数カウント

はじめに:「件数カウント」は“システムの現状を数字でつかむ道具”業務システムでは、常に「いま何件あるか?」が問われます。未処理の件数エラー件数今日登録された件数これをコードで表現するのが「件数カウント」です。C# / LINQ では Cou...
C#

C# Tips | コレクション・LINQ:グルーピング

はじめに:「グルーピング」は“バラバラの明細を、かたまりにまとめる技”業務システムでは、こんなことをよくやります。「部署ごとに社員をまとめたい」「顧客ごとに売上を集計したい」「日付ごとにアクセス数を集計したい」この「同じキーを持つデータを、...
C#

C# Tips | コレクション・LINQ:フィルタリング

はじめに:「フィルタリング」は“欲しいデータだけをすくい取る作業”業務システムの一覧画面って、だいたいこういう条件がありますよね。「部署=営業だけ」「状態=未処理だけ」「金額が 10,000 円以上だけ」この「条件に合うものだけを取り出す」...
C#

C# Tips | コレクション・LINQ:ページング

はじめに:「ページング」は“データを一口サイズに切り分ける技”業務システムの一覧画面で、「1ページ 20件」「次へ」「前へ」といった UI をよく見ますよね。これが「ページング」です。データは何千件・何万件あっても、人間が一度に見られるのは...
C#

C# Tips | コレクション・LINQ:カスタムソート

はじめに:「カスタムソート」は“業務ルールをそのまま並び順にする技”「優先度は High → Middle → Low の順」「ステータスは 未処理 → 処理中 → 完了 の順」「部署コードは A, B, C の順ではなく、営業 → 開発 ...
C#

C# Tips | コレクション・LINQ:逆順ソート

はじめに:「逆順ソート」は“優先度の高いものを先頭に持ってくる技”業務システムでは「新しい順」「金額の大きい順」「重要度の高い順」のように、“大きいほう・新しいほうを先頭にしたい”場面がとても多いです。これが「逆順ソート(降順ソート)」です...
C#

C# Tips | コレクション・LINQ:ソート

はじめに:「ソート」は“人間が読みやすい順番に並べ替える作業”業務システムでは、一覧画面・帳票・CSV 出力など、「同じデータでも、どの順番で並んでいるか」がものすごく大事になります。社員一覧なら「社員番号順」売上一覧なら「日付の昇順」エラ...
C#

C# Tips | コレクション・LINQ:重複除去

はじめに:「重複除去」は“データをきれいに整えるフィルター”業務システムでは、同じ ID のレコードが二重に入っていたり、同じメールアドレスが何度も出てきたりと、「重複データ」がよく紛れ込みます。この重複をきれいに取り除くのが「重複除去(重...
C#

C# Tips | コレクション・LINQ:空List生成

はじめに:「空List生成」は“安全な初期値”を手に入れるテクニック業務コードでよくあるパターンとして、List<string> names = null;// ここで落ちるint count = names.Count;List<stri...
C#

C# Tips | コレクション・LINQ:null安全List

はじめに:「null安全List」は“落とし穴を先に埋めておく道具”業務コードでありがちな例として、List<string> names = null;// ここで落ちるforeach (var n in names){ Console.W...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 14日目

14日目のゴールとテーマ14日目のテーマは「2週間で作ってきたものを“振り返りながら仕上げる”」です。今日は新しい文法をどんどん増やす日ではなく、今ある診断アプリを「自分の手で少し改造してみる」2週間で学んだ C# の基本を、頭の中でつなぎ...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 13日目

13日目のゴールとテーマ13日目のテーマは「エラーに強いアプリにする(例外処理とメニュー化)」です。ここまでで、機能としてはかなり“それっぽい”アプリになってきましたが、まだ弱いところがあります。ファイルが壊れていたら?数字を入れてほしいと...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 12日目

12日目のゴールとテーマ12日目のテーマは「クラス同士に“役割分担”をさせて、アプリ全体を整理する」です。10〜11日目で、Result クラスと List<Result>、LINQ を使って「データをオブジェクトとして扱う」感覚をつかみま...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 11日目

10日目のテーマとゴール10日目は「複数の診断結果(Result オブジェクト)をまとめて扱い、集計や検索ができるようにする」ことがテーマです。昨日は Result クラスを作り、ログ1行を Result に変換できるようになりました。今日...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 10日目

10日目のゴールとテーマ10日目のテーマは「クラスとオブジェクトで“自分の型”を作る」です。ここまでは、int や string、DateTime のような「既に用意されている型」を使ってきました。今日は一歩進んで、自分で「診断結果」という...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 9日目

9日目のゴールとテーマ9日目のテーマは「“記録”を少しだけ本格的にする」です。8日目で、診断結果をファイルに保存して「履歴」を持てるようになりました。今日はそこから一歩進めて、日付と時刻も一緒に保存する1 回分の診断を“1 行”として記録す...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 8日目

8日目のゴールとテーマ8日目のテーマは「ファイルに保存して“アプリの記憶”を持たせる」です。これまでのアプリは、実行している間だけ動き、終了するとすべて消えていました。今日はここに一歩踏み込んで、テキストファイルに文字を書き出すファイルから...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 7日目

7日目のゴールとテーマ7日目のテーマは「ここまでの全部を使って、1つの“ちゃんとしたミニアプリ”を完成させる」です。1〜6日目で学んだのは、入力、出力、if、for、配列、メソッド。今日はそれらをバラバラに練習するのではなく、「1本のアプリ...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 6日目

6日目のゴールとテーマ6日目のテーマは「メソッドでコードを“部品化”する」です。ここまでで、入力・条件分岐・繰り返し・配列・クイズアプリの土台まで来ました。今日はそこに「メソッド」という考え方を足して、同じ処理を何度も使い回せるようにする長...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 5日目

5日目のゴールとテーマ5日目のテーマは「文字列の配列を使って、クイズアプリの土台を作る」です。4日目までは「数値の配列」で点数を扱いましたが、今日は質問文や選択肢、答えを「文字列の配列」で管理するfor 文で問題を順番に出す正解数をカウント...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 4日目

4日目のゴールとテーマ4日目のテーマは「配列で“まとめて”データを扱う」です。3日目までは、点数や年齢などを「1 個ずつ」変数に入れていました。今日はここを一気にレベルアップさせて、複数の点数を「配列」にまとめて保存するfor 文で配列をぐ...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 3日目

3日目のゴールとテーマ3日目のテーマは「繰り返し(ループ)で、同じ処理を自動化する」です。1日目は「表示と入力」、2日目は「条件分岐(if)」でした。今日はそこに「同じことを何回もやる」を足して、アプリに“根性”を持たせます。目標は次のイメ...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 2日目

2日目のゴールとテーマ2日目のテーマは「条件分岐(if 文)で、アプリに“判断”をさせる」です。昨日は「入力してもらったものを、そのまま表示する」だけでした。今日はそこに一歩踏み込んで、「入力された内容によって、表示するメッセージを変える」...
C#

C# | 2週間で身につくアプリを作りながら学ぶC#の基本 - 1日目

この2週間コースと「1日目」のゴール1日目のテーマは、難しいことを全部横に置いて「C# のコードを自分の手で書いて、コンソールアプリを1つ動かす」ここまで行くことです。今日のゴールは次の3つです。C# をどこで書いて、どうやって実行するかが...
C#

C# Tips | 日付・時間処理:月日数取得

はじめに:「月日数取得」は“カレンダー計算の出発点”「今月は何日まである?」「締め日は月末」「2月の最終営業日」こういう処理をちゃんと書こうとすると、必ず必要になるのが「その月が何日まであるか」です。特に 2 月は、閏年かどうかで 28 日...
C#

C# Tips | 日付・時間処理:閏年判定

はじめに:「閏年判定」は“2月29日があるかどうかを見抜く小さな知恵”「この年は 2月29日があるのか?」「2024年は閏年だけど、2100年は?」カレンダーや日付計算を扱うシステムでは、“閏年(うるう年)かどうか”を正しく判定できることが...
C#

C# Tips | 日付・時間処理:月跨ぎ判定

はじめに:「月跨ぎ判定」は“どの月のデータとして扱うか”を決めるための鍵業務システムでは、「勤務が 1/31 22:00〜2/1 06:00 のとき、どの月の勤務として集計するか」「売上期間が 3/25〜4/5 のとき、月次レポートをどう分...
C#

C# Tips | 日付・時間処理:年月のみ比較

はじめに:「年月のみ比較」は“日付の細かさをあえて捨てるテクニック”業務システムでは、「2026年2月の売上」「2026年2月度の勤怠」「請求月が同じかどうか」のように、“日付”ではなく“年月”だけを扱いたい場面がよくあります。でも Dat...
C#

C# Tips | 日付・時間処理:日付バリデーション

日付バリデーションは“入力のゆらぎを正しい日付に整えるための基盤”日付入力は業務システムで最もトラブルが起きやすい領域です。「2026/02/30」「2026-13-01」「20260218」「2/18」など、ユーザーが入力する形式は本当に...
C#

C# Tips | 日付・時間処理:時刻バリデーション

はじめに:「時刻バリデーション」は“バグの温床”を最初に潰す作業「09:00 と入力してほしいのに、9時 とか 9:0 とか 25:00 とかが来る」「開始時刻より終了時刻が前になっている」時刻入力まわりは、放っておくとバグとクレームの宝庫...
C#

C# Tips | 日付・時間処理:Cron生成

はじめに:「Cron生成」は“人間の言葉をスケジュール文字列に変換する作業”「毎日3時に実行したい」「平日の9時ちょうどにだけ動かしたい」「5分ごとにポーリングしたい」人間にとっては分かりやすいこの言い方を、プログラムやジョブスケジューラが...
C#

C# Tips | 日付・時間処理:Cron表現解析

はじめに:なぜ「Cron表現解析」が業務で効くのか業務システムで「毎日3時に」「5分ごとに」「平日の9時だけ」といったスケジュールを柔軟に設定したいとき、文字列1本でスケジュールを表現できるのが「Cron表現(Cron式)」です。C# でこ...
C#

C# Tips | 日付・時間処理:スケジューラ

はじめに 「スケジューラ」は“時間で動くバッチのミニ版”「毎日 3:00 にバックアップしたい」「5分ごとにキューをポーリングしたい」「指定時刻になったら一度だけ処理したい」こういう“時間をトリガーにして処理を動かす仕組み”が、ここでいう「...
C#

C# Tips | 日付・時間処理:実行時間計測

はじめに 「実行時間計測」は“なんとなく”を数字に変える技術「この処理、重そうだけど本当にボトルネックなのか?」「リファクタリングしたけど、速くなったって言い切れる?」こういうときに必要なのが「実行時間計測」です。感覚ではなく“数字”で語れ...
C#

C# Tips | 日付・時間処理:ストップウォッチ

はじめに 「ストップウォッチ」は“処理時間を見える化する道具”「この処理、どれくらい時間かかってるんだろう?」「最適化したつもりだけど、本当に速くなった?」こういう“処理時間の見える化”に使うのが、C# の System.Diagnosti...
C#

C# Tips | 日付・時間処理:タイマー処理

はじめに 「タイマー処理」は“時間を味方につける仕組み”「5秒ごとに処理したい」「1分後にだけ一回だけ実行したい」「一定間隔でバッチを回したい」こういう“時間をトリガーにした処理”をまとめて「タイマー処理」と呼びます。C# にはいくつかのタ...
C#

C# Tips | 日付・時間処理:深夜時間判定

はじめに 「深夜時間判定」は“割増賃金の境界線をコードにする作業”勤務時間の中でも、「22:00〜翌5:00」は“深夜労働”として割増賃金の対象になる、というルールがよくあります。この“深夜時間”を正しく判定できないと、残業代の計算が狂った...
C#

C# Tips | 日付・時間処理:休憩時間控除

はじめに 「休憩時間控除」は“働いた時間と、そうでない時間を分ける線引き”勤務時間の計算で一番よく出てくるのが「休憩時間を引く」という処理です。ここを雑にやると、「働いていない時間にまで給料を払ってしまう」「逆に未払いになる」など、かなりク...
C#

C# Tips | 日付・時間処理:勤務時間計算

はじめに 「勤務時間計算」は“お金と信頼に直結するロジック”勤務時間の計算は、「出勤時刻と退勤時刻の差を取れば終わり」…では、まったく終わりません。休憩時間を引く深夜時間を分ける所定労働時間と残業時間を分ける丸め(5分単位・15分単位)をど...
C#

C# Tips | 日付・時間処理:日付差ヒューマン表示

はじめに 「日付差ヒューマン表示」は“数字を感覚に変える翻訳機”「2026/02/18 20:43:00 から 2026/02/18 21:10:00 まで 1620 秒です」よりも、「27分前」「約30分前」のほうが、圧倒的に“ピンと来る...
C#

C# Tips | 日付・時間処理:ファイル名用日時

はじめに 「ファイル名用日時」は“あとから探しやすく、壊れにくい名前のコア”バックアップファイル、エクスポートCSV、ログのローテーションファイル。こういう「時刻付きファイル名」を付けるとき、なんとなく DateTime.Now.ToStr...
C#

C# Tips | 日付・時間処理:ログ用日時生成

はじめに 「ログ用日時」は“あとから真実を追いかけるための命綱”ログって、「とりあえず DateTime.Now 出しとけばいいでしょ?」で済ませがちなんですが、本気でトラブル調査をしようとすると、「タイムゾーンは?」「フォーマットは?」「...
C#

C# Tips | 日付・時間処理:ミリ秒切り捨て

はじめに 「ミリ秒切り捨て」は“誤差とノイズを消すための小技”API のレスポンス時刻、ログのタイムスタンプ、DB に保存する日時。こういうところで「ミリ秒までバラバラだと比較しづらい」「テストが安定しない」ということ、よくありますよね。そ...
C#

C# Tips | 日付・時間処理:時刻丸め

はじめに 「時刻丸め」は“時間の解像度を落とすテクニック”「打刻は5分単位にそろえたい」「グラフは1分刻みで表示したい」「ログを10秒単位でまとめたい」こういう“細かすぎる時刻を、キリのいい時刻にそろえる”処理が「時刻丸め」です。C# には...
C#

C# Tips | 日付・時間処理:日付丸め

はじめに 「日付丸め」は“時間をざっくり区切るための技”「集計は1時間単位で」「グラフは5分刻みで」「日付だけにそろえたい」こういう“きっちりした時刻”ではなく“区切りの時刻”が欲しいときに必要になるのが「日付丸め」です。C# には「丸め専...
C#

C# Tips | 日付・時間処理:四半期判定

はじめに 「四半期判定」は“月をざっくり4つに区切るラベル付け”「この売上は第何四半期?」「四半期ごとの集計を出したい」「決算Q1〜Q4でグラフを描きたい」こういう“3ヶ月単位”の世界で必ず必要になるのが「四半期判定」です。C# で四半期を...
C#

C# Tips | 日付・時間処理:週番号取得

はじめに 「週番号取得」は“時間をざっくり区切るためのラベル付け”「この売上は何週目のデータ?」「週次レポートの第何週?」「ISO週番号でログを集計したい」こういう“週単位”の集計やレポートを作るときに必要になるのが「週番号」です。C# で...
C#

C# Tips | 日付・時間処理:年一覧生成

はじめに 「年一覧生成」は“長期スパンの集計・分析の土台”売上の年次推移、年度別の件数集計、ログの年別アーカイブ。こういう「年単位」で物事を見る処理の裏側には、たいてい「年一覧」がいます。C# では、DateTime や単なる int(年だ...
C#

C# Tips | 日付・時間処理:月一覧生成

はじめに 「月一覧生成」は“月次処理の背骨”になる「指定期間の月ごとの集計」「月次レポート」「月別売上グラフ」こういう“月単位”の処理をするときに土台になるのが「月一覧生成」です。C# では、DateTime(または DateOnly)に ...
C#

C# Tips | 日付・時間処理:日付一覧生成

はじめに 「日付一覧生成」は“カレンダー系ロジックの土台”「指定期間の全日付を出したい」「1ヶ月分のカレンダーを作りたい」「営業日一覧を作りたい」こういうときに必ず必要になるのが「日付一覧生成」です。C# では、DateTime(または D...
スポンサーリンク