C#

スポンサーリンク
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基本機能を身に付ける - Day10:Listの練習問題

Day10:List 練習問題と解答解説Day10 で学んだ List<T> / Add / Remove / Insert / Contains / Sort を確実に定着させるために、 初心者でも...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基本機能を身に付ける - Day10:List

Day10 前半のゴールDay10 前半では、List<T>(リスト) を使って「増える・減るデータ」を扱う方法を学びます。 配列は「サイズが固定」でしたが、リストは 自由に追加・削除できる柔軟なデー...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基本機能を身に付ける - Day9:文字列操作の練習問題

Day9 文字列操作・練習問題と解答解説Day9 で学んだ Length / Substring / Split / Replace / Trim / ToUpper / ToLower / Stri...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基本機能を身に付ける - Day9:文字列操作

Day8 前半のゴールDay8 前半では、文字列を自在に扱うための 文字列操作の基本機能 を身につけます。 文字列操作は、入力チェック・データ加工・ファイル処理・Web開発など、あらゆる場面で必須とな...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基本機能を身に付ける - Day8:メソッドの練習問題

Day8 メソッド・練習問題と解答解説Day8 で学んだ メソッド・引数・戻り値・オーバーロード をしっかり定着させるための練習問題と、 初心者でも理解しやすい丁寧な解答・解説をまとめています。 メソ...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基本機能を身に付ける - Day8:メソッド

Day8 前半のゴールDay8 前半では、C# の重要機能である メソッド(Method) を学びます。 メソッドは「処理をひとまとめにして再利用できる仕組み」であり、 プログラムを読みやすくし、複雑...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day7:総復習①

Day7 前半のゴールDay7 は 総復習① として、これまで学んだ C# の基礎文法を「実際のプログラム」にまとめていく日です。 前半では、次の 3 つのプログラムのうち、考え方と基本構造を中心に整...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day6:配列の練習問題

Day6 配列・練習問題と解答解説Day6 で学んだ 配列・添字・Length・多次元配列 をしっかり定着させるための練習問題と、 初心者でも理解しやすい丁寧な解答・解説をまとめています。 配列は「複...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day6:配列

Day6 前半のゴールDay6 前半では、配列(Array) を使って複数のデータをまとめて扱う方法を学びます。 配列は「同じ種類のデータをまとめて管理する箱」のような存在で、 合計・最大値・最小値・...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day5:繰り返し処理の練習問題

Day5 繰り返し処理・練習問題と解答解説Day5 で学んだ for / while / do-while / foreach / break / continue をしっかり定着させるための練習問題...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day5:繰り返し処理

Day5 前半のゴールDay5 前半では、プログラムに「繰り返す力」を与える ループ処理 を学びます。 繰り返し処理は、条件分岐と並んでプログラミングの基礎の中でも特に重要なテーマです。 ここで扱う構...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day4:条件分岐の練習問題

Day4 条件分岐・練習問題と解答解説Day4 で学んだ if / else / else if / switch をしっかり定着させるための練習問題と、 初心者でも理解しやすい丁寧な解答・解説をまと...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day4:条件分岐

Day4 前半のゴールDay4 前半では、C# に「状況に応じて処理を変える力」を与える 条件分岐 を学びます。 条件分岐は、プログラムに“判断力”を持たせるための最重要テーマです。 ここで扱う構文は...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day3:演算子の練習問題

Day3 練習問題セット(演算子)Day3 では 算術演算子・比較演算子・論理演算子・インクリメント/デクリメント を学びました。 ここでは、その内容をしっかり定着させるための練習問題と、ていねいな解...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day3:演算子

Day3 前半のゴールDay3 の前半では、C#で計算や比較、条件判断を行うための 「演算子」 を理解することを目標とする。 ここで扱うのは、次の4つです。算術演算子 比較演算子 論理演算子 インクリ...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day2:変数とデータ型も練習問題

Day2 練習問題セット(変数とデータ型)Day2 のテーマは 変数とデータ型を正しく使えるようになること。 ここでは、学習内容に完全に沿った練習問題と、初心者でも理解しやすい解答・解説をまとめている...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day2:変数とデータ型

Day2 前半のゴールDay2 の前半では、C# の学習で最も重要な基礎となる 「変数」と「データ型」 をしっかり理解することを目標にする。 プログラミングは「値を覚えておく」「計算する」「条件で分岐...
30日で身につけるC#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day1:C#とは・開発環境の準備

Day1のゴールと全体像このDay1では、C#でプログラミングを始めるための「土台」を作ることを目標とする。 扱うテーマは次のようなものだ。C#とは何か .NETとは何か 開発環境(Visual St...
C#

C# Tips | ログ・例外・診断:.NETバージョン取得

はじめに:.NETバージョン取得は「どんなエンジンで走っているか」を知るためのもの同じ C# コードでも、 どの .NET ランタイムバージョン で動いているかによって、 使える API や挙動、パフ...
C#

C# Tips | ログ・例外・診断:OS情報取得

はじめに:OS情報取得は「どんな土台の上で動いているか」を知るためのもの業務システムで地味に効いてくるのが、「OS の違い」です。 同じ C# コードでも、Windows Server のバージョンが...
C#

C# Tips | ログ・例外・診断:環境情報取得

はじめに:環境情報取得は「どこで・どんな設定で動いているか」を数字と言葉で残すこと業務システムで一番困るのは、 「開発環境では再現しないのに、本番だけでバグが出る」 「同じコードなのに、サーバーによっ...
C#

C# Tips | ログ・例外・診断:CPU使用率取得

はじめに:CPU使用率取得は「どれだけ“頭フル回転”しているか」を数字で知るための道具「サーバーが重い」「このバッチ、CPU食い過ぎじゃない?」 こういう会話、業務システムだとよく出てきますよね。でも...
C#

C# Tips | ログ・例外・診断:スレッド数取得

スレッド数取得は「アプリがどれだけ“並行処理のリソース”を使っているか」を数字で知る技術業務システムでは、 「なんか CPU が高い」「サーバーが重い」「スレッドプールが枯渇しているかも」 といった問...
C#

C# Tips | ログ・例外・診断:GC情報取得

はじめに:GC情報取得は「.NET がどれくらい“片付け仕事”をしているか」を数字で見ることC# の世界では、メモリの解放はガベージコレクタ(GC)が自動でやってくれます。これはとても便利ですが、その...
C#

C# Tips | ログ・例外・診断:メモリ使用量取得

はじめに:メモリ使用量取得は「どれくらい“盛っている”かを数字で知るためのもの」パフォーマンスの話をしていると、必ず出てくるのが「メモリ食いすぎてない?」という心配です。でも、感覚だけで「重そう」と言...
C#

C# Tips | ログ・例外・診断:パフォーマンス計測

はじめに:パフォーマンス計測は「コードの速さを“感覚”ではなく“数字”で語るための道具」業務システムを書いていると、必ずこういう会話が出てきます。「この処理、なんか遅くない?」「どれくらい遅いんだっけ...
C#

C# Tips | ログ・例外・診断:トレース出力

はじめに:トレース出力は「本番も視野に入れた“軽量ログ”」「デバッグ出力」は開発中にとても便利ですが、多くはデバッグビルド専用で、本番では消えてしまいます。一方、業務システムでは「本番環境でも、ある程...
C#

C# Tips | ログ・例外・診断:デバッグ出力

はじめに:デバッグ出力は「本番にはいらないけど、開発中はめちゃくちゃ役に立つメモ」コードを書いているとき、「ここまで処理が来ているか確認したい」「この変数の中身を一瞬だけ見たい」という場面が必ず出てき...
C#

C# Tips | ログ・例外・診断:タイムアウト制御

はじめに:タイムアウト制御は「いつまでも待たない」ための安全装置業務システムで一番イヤなのは、「固まっているのか、まだ処理中なのか分からない状態」です。外部 API、DB、ファイルアクセス、重い計算処...
C#

C# Tips | ログ・例外・診断:指数バックオフ

はじめに:指数バックオフは「だんだん距離を取りながら、もう一度だけ試す」リトライ戦略外部 API、クラウドサービス、DB、メッセージキューなどにアクセスするとき、一時的なエラー(ネットワークの瞬断、サ...
C#

C# Tips | ログ・例外・診断:リトライ処理

はじめに:リトライ処理は「一度コケても、あきらめずにもう一歩踏み込む」仕組み業務システムでは、外部サービスや DB、ファイルアクセスなど「環境に左右される処理」がたくさんあります。ネットワークが一瞬不...
C#

C# Tips | ログ・例外・診断:エラーコード管理

はじめに:エラーコード管理は「エラーに“番号付きの名前”を与えること」業務システムで本気で運用を考え始めると、「エラーが起きました」だけでは足りなくなります。どの画面でどの種類のエラーがどれくらいの頻...
C#

C# Tips | ログ・例外・診断:非同期例外処理

はじめに:非同期例外処理は「時間差で起きる失敗を、ちゃんと捕まえる技術」async/await を使い始めると、最初に戸惑うのが「例外がどこに飛んでいくのか分からない」という感覚です。同期コードなら、...
C#

C# | アルゴリズムと再帰関数 (recursive function)

前半:C#で「アルゴリズム」と「再帰関数」の土台をつくるC#は型がはっきりしていて、メソッド呼び出しの流れも追いやすいので、再帰を学ぶにはかなり良い言語だと思う。ここでは、プログラミング初心者でも「再...
C#

C# Tips | ログ・例外・診断:タスク例外処理

はじめに:タスク例外処理は「非同期の失敗を“なかったこと”にしない技術」async/await や Task を使い始めると、最初にハマりやすいのが 「例外がどこに行ったか分からない問題」 です。同期...
C#

C# Tips | ログ・例外・診断:グローバル例外

はじめに:「グローバル例外」は“アプリ全体でただ一つの例外の窓口”を作ること例外処理って、最初は「必要なところで try-catch 書けばいいでしょ?」で済ませがちですよね。でもアプリが大きくなると...
C#

C# Tips | ログ・例外・診断:未処理例外捕捉

はじめに:「未処理例外捕捉」は“最後の砦”を用意することどれだけ丁寧に try-catch を書いても、どこかで必ず「取りこぼしの例外」が出ます。想定していなかったバグ、ライブラリ内部の例外、テストで...
C#

C# Tips | ログ・例外・診断:例外ログ共通化

はじめに:例外ログ共通化は「どこで落ちても、同じ形で記録する」ための仕組み業務システムが大きくなると、あちこちで例外をログに書くコードが散らばりがちになります。catch (Exception ex)...
C#

C# Tips | ログ・例外・診断:スタックトレース整形

はじめに:スタックトレース整形は「エラーの道筋を、人間が読める形にする」技例外が発生したとき、ex.ToString() や ex.StackTrace をそのままログに出すと、情報は多いけれど「どこ...
C#

C# Tips | ログ・例外・診断:例外再スロー

はじめに:「例外再スロー」は“いったん受け止めてから、ちゃんと投げ直す”テクニック例外をキャッチしたあとに、こう思う場面がよくあります。ログは取りたいでも、この場では処理できないだから、上の層に判断を...
C#

C# Tips | ログ・例外・診断:例外ラップ

はじめに:「例外ラップ」は“生のエラーを、そのまま外に漏らさないためのフィルター”業務システムを書いていると、いろんな層で例外が飛びます。DB アクセス、外部 API、ファイル I/O、ライブラリ内部...
C#

C# Tips | ログ・例外・診断:ログローテート

はじめに:ログローテートは“ログを永遠に増やさないための自動整理術”ログを出し続けるアプリは、放っておくと ログファイルが無限に肥大化 します。その結果、ディスクがいっぱいになり、アプリが止まることす...
C#

C# Tips | ログ・例外・診断:ログ削除

はじめに:「ログ削除」は“未来のトラブル調査”と“ディスク容量”の綱引き調整ちゃんとログを出し始めると、次に必ず出てくるのが「ログが消えない問題」です。ログは残しておきたい、でもディスクは有限。このバ...
C#

C# Tips | ログ・例外・診断:ログ圧縮

はじめに:「ログ圧縮」は“ログを捨てずに、場所だけ小さくする”技業務システムでログをちゃんと出し始めると、必ずぶつかる問題があります。「ディスクがログでパンパンになる」です。ログは残しておきたい。でも...
C#

バイブコーディングとセキュリティーについて

バイブコーディングの本質と現代開発における位置づけバイブコーディングとは、仕様や設計書に厳密に従うのではなく、直感や流れ、試行錯誤を重視してコードを書く開発スタイルである。とくにAIによるコード生成や...
C#

C# | 1 日 90 分 × 7 日アプリ学習:初級編

1日目のゴール「初級編」1日目のテーマは“C# で「入力 → 処理 → 出力」という一連の流れを、自分で組み立てられるようになること” です。超初級編では、主に「こちらから決めた値」をコードの中に書い...
C#

C# | 1 日 60 分 × 7 日アプリ学習:超初級編

1日目のゴール1日目のテーマは「C# で“とりあえず1個、自分のプログラムを動かせた”という感覚をつかむこと」 です。難しいことは一旦全部置いておいて、「C# の世界に入るための入口」だけを、ゆっくり...
C#

C# Tips | ログ・例外・診断:JSONログ

はじめに:コンソールログは「今この瞬間の動き」を見るための窓業務でも学習でも、まず一番最初に触るログがコンソールログです。画面にそのまま出るので、「今なにが起きているか」をリアルタイムで確認できます。...
C#

C# Tips | ログ・例外・診断:コンソールログ

はじめに:「コンソールログ」は“今この瞬間の状態を一番早く知る窓”業務でも、開発でも、まず一番手軽なのがコンソールログです。画面にサッと出てくれるので、「今なにが起きているか」をリアルタイムで確認でき...
C#

C# Tips | ログ・例外・診断:ファイルログ

はじめに:「ファイルログ」は“あとから読み返せるブラックボックスレコーダー”コンソールにログを出すだけだと、アプリを閉じた瞬間に全部消えます。でも業務システムでは、数日後・数週間後に「そのとき何が起き...
C#

C# Tips | ログ・例外・診断:ログレベル制御

はじめに:「ログレベル制御」は“どの声量でしゃべるか”を決める仕組みログは「全部出せばいい」わけではありません。本番では重要なものだけ見たいし、調査中は細かい情報も欲しい。この「どこまで細かくログを出...
C#

C# Tips | ログ・例外・診断:ログ出力

はじめに:「ログ出力」は“未来の自分へのメッセージ”業務システムで一番「効いてくる」のがログです。動いているときは意識されないのに、トラブルが起きた瞬間に「ログがすべての命綱」になります。何が起きたの...
C#

C# Tips | コレクション・LINQ:LINQ式キャッシュ

はじめに:「LINQ式キャッシュ」は“同じクエリを何度も組み立てないための知恵”LINQ を使っていると、こういうコードが増えがちです。var q1 = users.Where(x => x.IsAc...
C#

C# Tips | コレクション・LINQ:条件付き並び替え

はじめに:「条件付き並び替え」は“状況に応じてソートルールを切り替える”技業務システムでは、単純に「いつも同じ並び順」だけで済むことはあまりありません。画面のソート条件をユーザーが選べる検索条件によっ...
C#

C# Tips | コレクション・LINQ:並び替えキー複数

はじめに:「並び替えキー複数」は“人間の並び順ルールをそのままコードにする”技業務でデータを並び替えるとき、単純に「ID順」だけで済むことはあまりありません。部署コード昇順、その中で社員区分昇順、さら...
C#

C# Tips | コレクション・LINQ:HashSet活用

はじめに:「HashSet活用」は“とにかく速く・かんたんに重複と集合を扱う”技業務で LINQ やコレクションを使っていると、こういう処理がよく出てきます。同じ値が含まれているかを高速に判定したい重...
C#

C# Tips | コレクション・LINQ:比較用EqualityComparer

はじめに:「比較用EqualityComparer」は“何をもって同じとみなすか”をコードにする道具LINQ やコレクションを使っていると、こういう場面がよく出てきます。「ユーザーIDが同じなら同じユ...
C#

C# Tips | コレクション・LINQ:シャローコピー

はじめに:「シャローコピー」は“速いけど、油断すると元を汚すコピー”ディープコピーの逆側にあるのが シャローコピー(浅いコピー) です。一言でいうと、「入れ物は別だけど、中身(参照先)はそのまま共有す...
C#

C# Tips | コレクション・LINQ:ディープコピー

はじめに:「ディープコピー」は“元データを絶対に汚したくないときの保険”業務コードを書いていると、こういうことが起きがちです。「編集用にコピーしたつもりが、元のデータまで変わってしまった」「画面でキャ...
C#

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

はじめに:「Immutable変換」は“絶対に書き換えられないコレクション”を手に入れる技業務システムを書いていると、こういう悩みが出てきます。「このコレクション、誰かにうっかり書き換えられてバグにな...
C#

C# Tips | コレクション・LINQ:Span対応変換

はじめに:「Span対応変換」は“速さを意識した LINQ の次の一歩”LINQ は書きやすいけれど、「配列や文字列をガッツリ触る処理」でパフォーマンスを突き詰めたいときには、メモリ確保(アロケーショ...
C#

C# Tips | コレクション・LINQ:ReadOnlyCollection化

はじめに:「ReadOnlyCollection化」は“触ってほしくないコレクションに鍵をかける”技業務コードを書いていると、こういう気持ちになる場面がよくあります。「このコレクション、外から中身をい...
C#

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

はじめに:「ObservableCollection変換」は“画面とコレクションをつなぐ橋”業務アプリ(特に WPF / MAUI / WinUI など)を書くと、List<T> や IEnumera...
C#

C# Tips | コレクション・LINQ:キャッシュ付き検索

はじめに:「キャッシュ付き検索」は“同じものを何度も探さない”ための技LINQ で検索を書くとき、最初はだいたいこうなります。var user = users.FirstOrDefault(x => ...
C#

C# Tips | コレクション・LINQ:高速検索

はじめに:「高速検索」は“探し方を変えるだけで世界が変わる”テクニックLINQ を覚えたての頃は、だいたいこう書きがちです。var user = users.FirstOrDefault(x => x...
C#

C# Tips | コレクション・LINQ:順序保持Distinct

はじめに:「順序保持 Distinct」は“最初に出てきた順だけを残す”技「重複を消したいけど、元の並び順は崩したくない」——業務でデータを扱っていると、かなり頻繁に出てきます。ログの順番はそのままに...
C#

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

はじめに:「重複カウント」は“どれがどれだけ被っているか”を一発で見抜く技業務でデータを扱っていると、こういうことを知りたくなる場面がよく出てきます。どの商品が何回注文されているかどのユーザーが何回ロ...
C#

C# Tips | コレクション・LINQ:インデックス付きSelect

はじめに:「インデックス付き Select」は“要素の値+位置情報”を同時に扱える便利ワザLINQ の Select は「値を変換する」ためのメソッドですが、実務では「値だけでなく、その要素が何番目か...
C#

C# Tips | コレクション・LINQ:Empty除外

はじめに:「Empty除外」は“中身がないものを先にどかす”テクニックnull を除外する話をしましたが、実務ではもう一つよく出てくる「やっかいな存在」がいます。それが「空文字」や「空コレクション」、...
C#

C# Tips | コレクション・LINQ:Null除外

はじめに:「Null除外」は“ゴミを先に掃き出してから考える”テクニック業務コードを書いていると、ほぼ確実にこうなります。データのどこかに null が紛れ込むnull を意識せずにプロパティにアクセ...
C#

C# Tips | コレクション・LINQ:AsParallel制御

はじめに:「AsParallel制御」は“並列の暴れ方に手綱をつける”技前回の「並列 LINQ」は、「AsParallel() を付けると並列になるよ」という話でした。でも、実務で本気で使うなら、どれ...
C#

C# Tips | コレクション・LINQ:並列LINQ

はじめに:「並列 LINQ」は“同じ処理をみんなで手分けする”仕組み同じような処理を大量のデータに対して繰り返すとき、1 件ずつ順番に処理するとどうしても時間がかかります。そこで出てくるのが「並列 L...
C#

C# Tips | コレクション・LINQ:Batch処理

はじめに:「Batch処理」は“まとめてやるけど、やり過ぎない”ための設計業務で C# を書いていると、こういう悩みがよく出てきます。一度に 10 万件 INSERT すると重いし、失敗したときの巻き...
C#

C# Tips | コレクション・LINQ:Chunk分割

はじめに:「Chunk 分割」は“データを小分けにして扱う”ための技業務でデータを扱っていると、こういう状況がよく出てきます。一度に 10 万件は処理したくないので、1000 件ずつに分けて順番に処理...
C#

C# Tips | コレクション・LINQ:All判定

はじめに:「All 判定」は“全員ちゃんと条件を満たしているか?”を見るチェックリストAny が「1人でもそういう人がいるか?」を見るメソッドだとしたら、All は「全員ちゃんとルールを守れているか?...
C#

C# Tips | コレクション・LINQ:Any判定

はじめに:「Any 判定」は“あるか・ないか”を一瞬で決めるスイッチ業務コードを書いていると、こんなことを知りたくなる場面が山ほどあります。「このリスト、1件でも入ってる?」「この条件を満たすデータっ...
C#

C# Tips | コレクション・LINQ:FirstOrDefault安全版

はじめに:「FirstOrDefault安全版」は“意図しない 0 や null を潰すための仕掛け”FirstOrDefault は LINQ の超定番メソッドですが、その「便利さ」の裏側で、初心者...
C#

C# Tips | コレクション・LINQ:ランダム抽出

はじめに:「ランダム抽出」は“偏りなく一部だけを見る”ための技ランダム抽出は、「大量のデータの中から、ランダムに一部だけ取り出す」ためのテクニックです。テストデータを適当に 100 件だけ見たいとき、...
C#

C# Tips | コレクション・LINQ:シャッフル

はじめに:「シャッフル」は“順番の意味を一度壊す”テクニックシャッフルは、「コレクションの要素の順番をランダムに並べ替える」ことです。トランプを切るイメージが一番近いです。業務でも、実はちょこちょこ出...
C#

C# Tips | コレクション・LINQ:和集合

はじめに:「和集合」は“全部まとめて、ダブりは1つにする”技業務でデータを扱っていると、こういう場面がよく出てきます。「A システムと B システムのユーザーを“全部”見たい」「複数ファイルに分かれて...
C#

C# Tips | コレクション・LINQ:積集合

はじめに:「積集合」は“共通しているものだけを抜き出すフィルター”業務でデータを扱っていると、こういう問いがよく出てきます。「A システムと B システムの両方に登録されているユーザーは?」「マスタに...
C#

C# Tips | コレクション・LINQ:差集合

はじめに:「差集合」は“どっちにだけあるか?”をはっきりさせる技業務でデータを扱っていると、こういう問いがよく出てきます。「昨日はあったけど、今日はなくなったデータはどれ?」「マスタにはあるけど、イン...
C#

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

はじめに:「マージ」は“バラバラの情報を一つの流れにまとめる技”業務システムでは、こういう状況がよく出てきます。「今年分のデータと昨年分のデータを一緒に扱いたい」「マスタと明細をくっつけて、見やすい形...
C#

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

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

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

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

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

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

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

14日目のゴールとテーマ14日目のテーマは「2週間で作ってきたものを“振り返りながら仕上げる”」です。今日は新しい文法をどんどん増やす日ではなく、今ある診断アプリを「自分の手で少し改造してみる」2週間...
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行を Resu...
C#

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

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

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

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

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

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

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

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

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

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

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

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

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

4日目のゴールとテーマ4日目のテーマは「配列で“まとめて”データを扱う」です。3日目までは、点数や年齢などを「1 個ずつ」変数に入れていました。今日はここを一気にレベルアップさせて、複数の点数を「配列...
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月の最終営業日」こういう処理をちゃんと書こうとすると、必ず必要になるのが「その月が何日まであるか」です。...
C#

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

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

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

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

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

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

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

日付バリデーションは“入力のゆらぎを正しい日付に整えるための基盤”日付入力は業務システムで最もトラブルが起きやすい領域です。「2026/02/30」「2026-13-01」「20260218」「2/1...
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本でスケジュールを表現できるのが「Cr...
C#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C# Tips | 日付・時間処理:日付範囲判定

はじめに 「日付範囲判定」は“ビジネスルールの線引き”そのもの「この日付はキャンペーン期間内か?」「契約有効期間に含まれるか?」「集計対象期間か?」こういう“期間に入っているかどうか”の判定は、業務シ...
C#

C# Tips | 日付・時間処理:日付比較

はじめに 「日付比較」は“ビジネスルールをコードに落とす入り口”「締切を過ぎているか?」「この期間内か?」「開始日より前か後か?」業務システムで“条件分岐”を書くとき、ほぼ必ず出てくるのが「日付比較」...
C#

C# Tips | 日付・時間処理:UnixTime変換

はじめに 「UnixTime変換」は“異世界の時計との変換アダプタ”API やログ、JavaScript、Linux 系ツールと連携するときに、よく出てくるのが「UnixTime(UNIX時間)」です...
C#

C# Tips | 日付・時間処理:ISO8601変換

はじめに 「ISO8601変換」は“システム同士の共通語”をしゃべるための必須スキルAPI、バッチ連携、ログ、クラウドサービス。システム同士が日時をやり取りするとき、ほぼ必ず出てくるのが「ISO860...
C#

C# Tips | 日付・時間処理:タイムゾーン変換

はじめに 「タイムゾーン変換」は“世界とつながる日時処理の要”日本だけで完結しているうちはあまり意識しませんが、クラウド、海外拠点、スマホアプリなどが絡み始めると、「この日時はどこの国の時間なのか?」...
C#

C# Tips | 日付・時間処理:経過時間計算

はじめに 「経過時間計算」は“ビジネスのリアルタイム感”を数値にする「処理に何秒かかった?」「障害発生から何時間経過?」「滞在時間は何分?」こういう“時間の距離”は、業務・実務の世界でかなり頻繁に出て...
C#

C# Tips | 日付・時間処理:経過日数計算

はじめに 「経過日数計算」は“ビジネスの距離感”を数値にする「申込から何日経った?」「納品から何日以内?」「障害発生から何日経過?」こういう“日数の距離”は、業務システムで本当によく出てきます。C# ...
C#

C# Tips | 日付・時間処理:年齢計算

はじめに 「年齢計算」は“日付ロジックの入門にして落とし穴だらけのテーマ”「この人は今何歳か」「○日時点で何歳だったか」。業務システムでも、顧客管理・会員管理・保険・医療・学校など、年齢計算は本当によ...
C#

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

はじめに 「祝日判定」は“営業日ロジックの一番やっかいな部分”土日判定はコードで簡単に書けますが、「祝日」はそうはいきません。日本の祝日は法律で決まっていて、改正されたり、オリンピックや即位などのイベ...
C#

C# Tips | 日付・時間処理:営業日加算

はじめに 「営業日加算」は“ビジネスの締切をコードに落とす技”「3営業日以内に対応」「5営業日後が締切」「翌営業日に処理」――こういう要件を“ちゃんと”満たすには、単純な「日数加算」ではなく「営業日加...
C#

C# Tips | 日付・時間処理:営業日判定

はじめに 「営業日判定」は“締切と期日のリアルさ”を決める心臓部業務システムでよく出てくる「3営業日以内に対応」「翌営業日に処理」「営業日ベースで締切計算」。ここでいう「営業日」が正しく判定できていな...
C#

C# Tips | 日付・時間処理:曜日日本語化

はじめに 「曜日日本語化」は“ユーザーに優しい日付表示”の仕上げ曜日そのものは DateTime.DayOfWeek で簡単に取れますが、そのままだと Tuesday のような英語表記です。業務システ...
C#

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

はじめに 「曜日取得」は“人間に寄り添う日付表示”の入口日付そのものだけでなく、「それが何曜日か」は業務画面でかなり重要です。勤怠、シフト、予約、カレンダー、締切日…どれも「曜日」が一緒に出ていると、...
C#

C# Tips | 日付・時間処理:年末取得

はじめに 「年末取得」は“年間ロジックのゴール地点”年初が「スタートライン」だとしたら、年末は「ゴールライン」です。年間売上、年間勤怠、年間評価、年間レポート、どれも「この年はどこからどこまでか」 が...
C#

C# Tips | 日付・時間処理:年初取得

はじめに 「年初取得」は“年間ロジックのスタートライン”月初・月末が「月次処理の基準点」だとしたら、年初は「年間処理の基準点」です。例えば、「今年の売上集計」「今年の有給残高」「今年度の評価期間」こう...
C#

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

はじめに 「月末取得」は“締めと集計のゴール地点”月初が「スタート」だとしたら、月末は「ゴール」です。売上の締め、勤怠の締め、請求期間の終わり、サブスクの課金期間の終わり――どれも「この月の月末はどこ...
C#

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

はじめに 「月初取得」は“集計と締め処理のスタート地点”業務システムで「今月分の売上」「今月の勤務時間」「請求書の対象期間」などを扱うとき、必ずと言っていいほど出てくるのが「月初(その月の1日)」です...
C#

C# Tips | 日付・時間処理:日付減算

はじめに 「日付減算」は“差を測る”だけじゃなく“◯日前”も作れる道具日付の「減算」と聞くと、まず思い浮かぶのは「2つの日付の差を取る」ことだと思います。でも実務ではそれだけでなく、「◯日前に戻す」(...
C#

C# Tips | 日付・時間処理:日付加算

はじめに 「日付加算」は“締切・有効期限・リマインド”の土台になる業務システムで「◯日後」「◯ヶ月後」「◯時間後」は、締切、有効期限、リマインド日時、サブスクリプションの更新日など、あらゆるところに出...
C#

C# Tips | 日付・時間処理:日付パース

はじめに 「日付パース」は“文字列を本物の日時に戻す”作業さっきまで「日付フォーマット」でDateTime → 文字列 に変換する話をしました。今度は逆向き、「文字列 → DateTime / Dat...
C#

C# Tips | 日付・時間処理:日付フォーマット

はじめに 「日付フォーマット」は“人間に読める形に整える”最後の仕上げ業務システムでは、DBや内部処理では DateTime / DateTimeOffset のまま扱い、画面・CSV・ログ・帳票など...
C#

C# Tips | 日付・時間処理:ローカル変換

はじめに 「ローカル変換」は“人間にとっての時間に戻す”作業UTC変換が「システムにとって都合のいい時間」にそろえる作業だとしたら、ローカル変換はその逆で、「人間が暮らしているタイムゾーンの時間に戻す...
C#

C# Tips | 日付・時間処理:UTC変換

はじめに 「UTC変換」は“時間のものさしを世界共通にそろえる”作業業務システムで日時を扱うとき、「サーバーのタイムゾーンが違う」「海外リージョンにデプロイする」「他システムと連携する」こういう場面が...
C#

C# Tips | 日付・時間処理:現在日時取得

はじめに 「現在日時取得」は“すべてのログと期限の起点”になる業務システムで「今の日時」は、ほぼどこでも使います。ログのタイムスタンプ、締切チェック、バッチの実行時間、更新日時の保存など、「いつ?」を...
C#

C# Tips | 文字列処理:Unicode正規化

はじめに 「Unicode正規化」は“見た目は同じ文字を、本当に同じにそろえる”作業Unicode正規化は、一言でいうと「見た目は同じなのに、内部的なバイト列が違う文字列を、同じ形にそろえる」処理です...
C#

C# Tips | 文字列処理:Levenshtein距離

はじめに 「Levenshtein距離」は“どれくらい似ているか”を数字で教えてくれるものLevenshtein(レーベンシュタイン)距離は、「ある文字列を別の文字列に変えるために、何回“1文字の挿入...
C#

C# Tips | 文字列処理:曖昧検索

はじめに 「曖昧検索」は“ちょっと間違っていても拾ってあげる”検索業務システムで検索機能を作ると、こんなことが起きがちです。「ユーザーが Yamda とタイプミスしても、本当は Yamada を出した...
C#

C# Tips | 文字列処理:部分一致検索

はじめに 「部分一致検索」は“文字列の中から、手がかりを探す”作業業務システムでは、こういうことをよくやります。商品名に「りんご」が含まれているデータだけを抽出したいログの1行の中に「ERROR」とい...
C#

C# Tips | 文字列処理:文字列比較(大文字無視)

はじめに 「大文字無視の文字列比較」は“人間の感覚に合わせる”ためのテクニック業務システムでは、ユーザー名、コード値、フラグ文字列などを比較するときに、「OK と ok は同じとみなしたい」「Yes ...
C#

C# Tips | 文字列処理:XML圧縮

はじめに 「XML圧縮」は“意味はそのまま、見た目だけ最小化する”ここでいう「XML圧縮」は、GZip などのバイナリ圧縮ではなく、改行・インデント・余計な空白をできるだけ取り除いて、XML文字列を短...
C#

C# Tips | 文字列処理:XML整形

はじめに 「XML整形」は“タグの森に道をつける”作業XMLは、設定ファイル、外部システム連携、古めのWebサービスなどで今でもよく使われますが、そのまま1行でベタッと出てくると、とても読みにくいです...
C#

C# Tips | 文字列処理:JSON圧縮

はじめに 「JSON圧縮」は“意味は変えずに、できるだけ短くする”ことここでいう「JSON圧縮」は、GZipなどのバイナリ圧縮ではなく、「余計な改行・インデント・スペースを削って、JSON文字列を最小...
C#

C# Tips | 文字列処理:JSON整形

はじめに 「JSON整形」は“ぐちゃぐちゃなJSONを、人間が読める形にする”作業APIレスポンス、ログ、設定ファイル——JSONは業務システムのあちこちに出てきますが、そのままだと{"id":1,"...
C#

C# Tips | 文字列処理:URLデコード

はじめに 「URLデコード」は“URL用に変形された文字列を、人間の世界に戻す”処理URLエンコードは、「URLの中で問題になりそうな文字(日本語・スペース・記号など)を、安全な形(%xx や +)に...
C#

C# Tips | 文字列処理:URLエンコード

はじめに 「URLエンコード」は“文字列をURLの世界に適応させる変換”URLエンコードは、「URLの中でそのまま使うと問題が出る文字を、安全な形に変換する」処理です。日本語、スペース、記号類などをそ...
C#

C# Tips | 文字列処理:Base64デコード

はじめに 「Base64デコード」は“梱包されたデータを元に戻す”作業前回の「Base64エンコード」は、バイナリや文字列を「壊れにくい文字列」に梱包する話でした。Base64デコードは、その逆です。...
C#

C# Tips | 文字列処理:Base64エンコード

はじめに 「Base64エンコード」は“中身を壊さずに文字列として運ぶための梱包”Base64エンコードは、「バイナリデータ(生のバイト列)を、安全に文字列として扱える形に変換する仕組み」です。メール...
C#

C# Tips | 文字列処理:SHA256生成

はじめに 「SHA256生成」は“文字列に指紋をつける”行為SHA256 は、どんな長さのデータでも「256ビット(32バイト)の固定長のハッシュ値」に変換する仕組みです。イメージとしては、「中身は見...
C#

C# Tips | 文字列処理:文字列ハッシュ化

はじめに 「文字列ハッシュ化」は“中身を見せずに、同じかどうかだけ知る”技文字列ハッシュ化は、一言でいうと、「文字列の中身を、一定長の“指紋”に変換すること」です。元の文字列がどれだけ長くても、ハッシ...
C#

C# Tips | 文字列処理:文字頻度カウント

はじめに 「文字頻度カウント」は“テキストのクセを数字で見る”道具文字頻度カウントは、「この文字列の中で、どの文字が何回出てくるか」を数える処理です。一見お勉強っぽいテーマですが、業務でもログ解析、入...
C#

C# Tips | 文字列処理:文字列反転

はじめに 「文字列反転」は“ただのお遊び”で終わらせるには惜しいテクニック「文字列を逆順にする」——いかにも練習問題っぽいテーマですが、実務でも意外と出番があります。ログやIDの一部をマスクして見せた...
C#

C# Tips | 文字列処理:指定行取得

はじめに 「指定行取得」は“長いテキストから、ピンポイントで1行だけ抜き出す”技ログファイル、設定ファイル、外部システムからのテキスト——業務では「長いテキストの中から、n行目だけ欲しい」という場面が...
C#

C# Tips | 文字列処理:行分割

はじめに 「行分割」は“テキストを“1行ずつの粒”にする基本技”長いテキストを扱うとき、「1行ずつ処理したい」「行番号を付けたい」「空行をスキップしたい」といったニーズは、業務システムでも頻出です。そ...
C#

C# Tips | 文字列処理:改行コード統一

はじめに 「改行コード統一」は“見えない差異でバグらないための下ごしらえ”業務でテキストを扱っていると、「見た目は同じなのに、なぜか比較で不一致になる」「CSVがうまく分割できない」みたいな、地味だけ...
C#

C# Tips | 文字列処理:SQLインジェクション対策

はじめに 「SQLインジェクション対策」は“文字列をいじる話ではなく、SQLの組み立て方の話”「文字列処理のユーティリティ」と聞くと、「シングルクォートを2つに置き換えるエスケープ関数を作ればいいのか...
C#

C# Tips | 文字列処理:CSVエスケープ

はじめに 「CSVエスケープ」は“カンマや改行を、1セルの中に閉じ込める”技業務で CSV を扱うとき、いちばんよくハマるのが、「値の中にカンマや改行が入っていて、列がズレる」という問題です。例えば、...
C#

C# Tips | 文字列処理:HTMLアンエスケープ

はじめに 「HTMLアンエスケープ」は“記号に戻して、元のテキストを取り出す”技さっきの「HTMLエスケープ」は、< や > を < や > に変えて「安全な文字列」にする処理でした。HT...
C#

C# Tips | 文字列処理:HTMLエスケープ

はじめに 「HTMLエスケープ」は“文字列をHTMLとして誤解させないための防御”Web画面を作るとき、ユーザーが入力した文字列をそのままHTMLに埋め込むと、とても危険です。なぜなら、<script...
C#

C# Tips | 文字列処理:省略文字列生成

はじめに 「省略文字列生成」は“長すぎる情報を、いい感じに切る”技業務システムを作っていると、「全部は見せられないけど、雰囲気は伝えたい」という場面がよく出てきます。ログに長いメッセージを全部出すと読...
C#

C# Tips | 文字列処理:パディング(右)

はじめに 「右パディング」は“枠を決めて、左にそろえて並べる”技左パディングが「右寄せ」だとしたら、右パディングはその逆で「左寄せ」をきれいにそろえるためのテクニックです。業務システムだと、例えばこん...
C#

C# Tips | 文字列処理:パディング(左)

はじめに 「左パディング」は“桁をそろえて、きれいに並べる”技業務システムでは、こんな表示やデータ形式がよく出てきます。1 → 001 にしたい(3桁でゼロ埋め)A → A にしたい(4文字幅で右寄せ...
C#

C# Tips | 文字列処理:ランダム文字列生成

はじめに 「ランダム文字列生成」は“それっぽいIDやトークンを安全に作る”技業務システムで「ランダム文字列」が欲しくなる場面はたくさんあります。一時パスワードメール確認用トークン招待コードファイル名の...
C#

C# Tips | 文字列処理:UUID生成

はじめに 「UUID生成」は“かぶらないIDを雑に、でも安全に作る”技業務システムを作っていると、ほぼ必ず出てくるのが「一意なIDが欲しい」という場面です。注文ID、トランザクションID、ファイル名、...
C#

C# Tips | 文字列処理:電話番号検証

はじめに 「電話番号検証」は“ぐちゃっとした入力を、安全な数字列に整える”仕事電話番号入力って、郵便番号以上に“ゆらぎ”が激しいです。03-1234-56780901234567803−1234−56...
C#

C# Tips | 文字列処理:郵便番号検証

はじめに 「郵便番号検証」は“ゆらぎを受け止めて、きっちり7桁にそろえる”仕事郵便番号入力って、一見シンプルに見えますよね。「7桁の数字でしょ?」で終わりそうですが、実務ではそうはいきません。「123...
C#

C# Tips | 文字列処理:URL検証

はじめに 「URL検証」は“危なそうな文字列を入口で止めるフィルタ”業務システムで URL を扱う場面は多いですよね。ユーザーが入力したホームページURL外部サービスのコールバックURL管理画面で設定...
C#

C# Tips | 文字列処理:メールアドレス検証

はじめに 「メールアドレス検証」は“現実と割り切りのバランスを取る技”業務システムでほぼ確実に出てくるのが「メールアドレス入力欄」です。ここで悩ましいのが、「どこまで厳密にチェックするか?」です。RF...
C#

C# Tips | 文字列処理:日本語判定

はじめに 「日本語判定」は“文字列の中身の“顔ぶれ”を見分ける技業務システムだと、こんな要件がよく出てきます。氏名は日本語で入力してほしい(漢字・ひらがな・カタカナ)ログインIDは日本語禁止(英数字の...
C#

C# Tips | 文字列処理:英字のみ抽出

はじめに 「英字のみ抽出」は“コードやIDからアルファベットの芯だけを抜き出す”技業務システムでは、こんな文字列がよく出てきます。"UserID: AB123""商品コード: JP-2025-001"...
C#

C# Tips | 文字列処理:数字のみ抽出

はじめに 「数字のみ抽出」は“文字列から数値の芯だけを取り出す”技業務システムでは、こういう文字列がよく出てきます。"ID: 12345""注文No=AB-2025-00123""TEL 03-123...
C#

C# Tips | 文字列処理:正規表現置換

はじめに 「正規表現置換」は“パターンで探して、一気に書き換える”技一致判定は「合っているかどうか」、抽出は「取り出す」でした。正規表現置換は、そのさらに一歩先——「合っているところを、別の形に書き換...
C#

C# Tips | 文字列処理:正規表現抽出

はじめに 「正規表現抽出」は“文字列の中から欲しいところだけをすくい取る”技一致判定(IsMatch)は「ルールに合っているか?」を見るだけでしたが、業務ではそれだけでは足りません。ログの 1 行から...
C#

C# Tips | 文字列処理:正規表現一致判定

はじめに 「正規表現一致判定」は“文字列ルールをコードにする道具”業務システムでは、「この文字列はメールアドレス形式か?」「このコードは英数字だけか?」「この入力は3桁の数字か?」といった“ルールチェ...
C#

C# Tips | 文字列処理:文字列結合

はじめに 「文字列結合」は“バラした情報を一つの形にまとめる”技さっきまで「文字列分割」でバラす話をしてきましたが、業務ではその逆——「バラバラの情報を 1 本の文字列にまとめる」場面も同じくらい多い...
C#

C# Tips | 文字列処理:文字列分割

はじめに 「文字列分割」は“バラしてから意味をつける”ための基本技業務システムでは、「1本の文字列の中に、複数の値が詰め込まれている」ことがよくあります。CSV の 1 行、区切り文字付きの設定値、ユ...
C#

C# Tips | 文字列処理:ケバブケース変換

はじめに 「ケバブケース変換」は“フロントエンド世界との共通語”C# の世界では UserName(PascalCase)や userName(camelCase)が主流ですが、フロントエンドや一部の...
C#

C# Tips | 文字列処理:スネークケース変換

はじめに 「スネークケース変換」は“別世界の命名ルールをつなぐアダプタ”C# の世界では UserName や OrderId のような PascalCase/camelCase が主流ですが、業務で...
C#

C# Tips | 文字列処理:キャメルケース変換

はじめに 「キャメルケース変換」は“名前をそろえるためのルールエンジン”業務で C# を書いていると、「名前の書き方」をそろえたくなる場面がたくさん出てきます。JSON のプロパティ名、API のパラ...
C#

C# Tips | 文字列処理:小文字変換

はじめに 「小文字変換」は“ゆるく受け入れて、きっちり比べる”ための道具大文字変換と同じくらい、業務コードでよく使うのが「小文字変換(Lower)」です。特に、こんな場面で出てきます。ユーザー入力を小...
C#

C# Tips | 文字列処理:大文字変換

はじめに 「大文字変換」は“比較とフォーマットを安定させるための基本技”文字列処理の中でも、「大文字変換(Upper)」はかなり頻出のテクニックです。特に業務システムでは、こんな場面でよく使われます。...
C#

C# Tips | 文字列処理:半角→全角

はじめに 「半角→全角」は“見た目とフォーマットをそろえるための技”さっきの「全角→半角」は、検索や比較を安定させるための前処理でした。一方で「半角→全角」は、どちらかというと「見た目」と「フォーマッ...
C#

C# Tips | 文字列処理:全角→半角

はじめに なぜ「全角→半角」が業務でこんなに大事なのか日本語の業務システムでは、「見た目は同じなのに、文字コードが違うせいで一致しない」という事故が本当に多いです。「A」と「A」、「1」と「1」、「@...
C#

C# Tips | 文字列処理:空白トリム

はじめに 「空白トリム」は“バグの温床”を一気に減らすお掃除スキル業務システムで文字列を扱うとき、地味だけどめちゃくちゃ効くのが「空白トリム」です。ユーザー入力、CSV、設定ファイル、外部API――そ...
C#

C# Tips | 文字列処理:null安全文字列

はじめに 「null安全文字列」は“落ちないコード”への第一歩C# で業務コードを書いていると、かなりの頻度で出てくる例外があります。NullReferenceException――いわゆる「ヌルポ」...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル復元

はじめに 「ファイル復元」は“やらかした後に助けてくれる最後の味方”バックアップを取るだけでは、まだ片手落ちです。本当に大事なのは、「壊したあとに、元に戻せること」です。設定ファイルを上書きしてアプリ...
C#

C# Tips | ファイル・ディレクトリ操作:世代管理バックアップ

はじめに 「世代管理バックアップ」は“時間を巻き戻すための仕組み”バックアップを「とりあえずコピーしておく」だけで終わらせると、すぐにこうなります。バックアップフォルダがファイルだらけでカオスになる。...
C#

C# Tips | ファイル・ディレクトリ操作:バックアップ作成

はじめに 「バックアップ作成」は“事故前提”でコードを書く技術業務システムでファイルを扱うなら、「バックアップをどう残すか」は避けて通れません。人が操作をミスることもあるし、プログラムがバグることもあ...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル名重複回避

はじめに なぜ「ファイル名重複回避」が必要になるのか業務でファイルを扱っていると、かなりの頻度でこういう状況に出会います。同じフォルダに同名ファイルがすでに存在している。ユーザーが同じ名前で何度もエク...
C#

C# Tips | ファイル・ディレクトリ操作:禁則文字除去

はじめに 「禁則文字除去」は“事故る前の最後のガード”業務でファイル名やフォルダ名を「プログラム側で決める」こと、よくありますよね。ユーザーが入力したタイトルをそのままファイル名にしたい。日付やIDを...
C#

C# Tips | ファイル・ディレクトリ操作:パス安全化

はじめに 「パス安全化」は“ファイルを触る前の身だしなみ”業務でファイルを扱うコードを書くとき、本当によく出てくるのが「パス文字列」です。ユーザー入力、設定ファイル、外部システムから渡される値――それ...
C#

C# Tips | ファイル・ディレクトリ操作:ZIP解凍

はじめに 「ZIP解凍」ができると“受け取ったファイルをさばける人”になる業務だと、相手から渡されるファイルがそのままではなく、ZIP で固められていることが本当に多いです。日次バッチの結果、帳票一式...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル圧縮(ZIP)

はじめに 「ZIP を扱える」と業務ツールの格が一段上がる業務でよくあるシーンです。複数ファイルを ZIP にまとめてメールで送りたい。バックアップを ZIP で固めて日付ごとに保存したい。外部システ...
C#

C# Tips | ファイル・ディレクトリ操作:大容量ファイル逐次読み込み

はじめに 「全部読み込む」はもう卒業しよう大きなログファイル、巨大な CSV、数 GB のテキスト。こういうファイルを相手にするときに、File.ReadAllText や File.ReadAllL...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル監視(FileSystemWatcher)

はじめに 「ファイル監視」ができると“自動処理”の世界が一気に広がる業務システムを書いていると、こんな要望がよく出てきます。フォルダにファイルが置かれたら、自動で取り込んで処理したい。設定ファイルが書...
C#

C# Tips | ファイル・ディレクトリ操作:ログローテーション

はじめに なぜ「ログローテーション」が必要になるのか業務システムを真面目に運用し始めると、必ずと言っていいほど「ログファイルがデカくなりすぎる問題」にぶつかります。1つのログファイルに延々と書き続ける...
C#

C# Tips | ファイル・ディレクトリ操作:TSV対応CSV

はじめに 「TSV対応CSV」とは“区切り文字を意識できる人”になること業務でファイル連携をしていると、こういうことが起きます。CSV ください、と言われたのに、実際に渡されるのはタブ区切り(TSV)...
C#

C# Tips | ファイル・ディレクトリ操作:CSV書き込み

はじめに 「CSV書き込み」ができると“外部連携の入口”が開くCSV 読み込みが「外部からデータをもらう入口」だとしたら、CSV 書き込みは「外部にデータを渡す出口」です。集計結果を CSV で出力し...
C#

C# Tips | ファイル・ディレクトリ操作:CSV読み込み

はじめに 「CSV読み込み」がちゃんと書けると一気に“業務っぽく”なる業務システムで一番よく出てくるファイル形式、それが CSV です。売上データ、マスタデータ、ログのエクスポート、外部システムとの連...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル結合

はじめに 「分割したなら、いつか必ず結合する」前回は「ファイル分割」でしたね。大きすぎるファイルを扱いやすくするために分けたなら、どこかのタイミングで「元に戻したい」「まとめて扱いたい」というニーズが...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル分割

はじめに 「ファイル分割」は“逃げ”ではなく戦略業務をやっていると、だいたい一度はこうなります。ログがバカみたいに大きくなって、テキストエディタで開けない。外部システムから「1 ファイル 10MB ま...
C#

C# Tips | ファイル・ディレクトリ操作:テキスト一括置換

はじめに 「テキスト一括置換」は業務の“地味だけど超重要”作業業務システムを書いていると、こんなことがよく起きます。古いコードや設定ファイルのパスを一気に変えたい。ログファイルや CSV の中の特定の...
C#

C# Tips | ファイル・ディレクトリ操作:BOM付きUTF-8保存

はじめに なぜ「BOM付きUTF-8保存」が業務で大事なのか業務システムだと、こんな場面がよく出てきます。外部システムから「UTF-8(BOM付き)で送ってください」と仕様で指定されている。Excel...
C#

C# Tips | ファイル・ディレクトリ操作:ファイルエンコーディング判定

はじめに 「エンコーディング判定」が分からないとハマる世界業務でテキストファイル(CSV、ログ、設定ファイルなど)を扱うとき、ほぼ必ず出てくるのが「このファイル、何のエンコーディングで書かれているの?...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル文字数カウント

はじめに 「文字数カウント」は“なんとなく”で書くと危ない「ファイルの文字数を数える」――これも一見シンプルですが、実務では意外と奥が深いです。文字数でバリデーションしたい(例:1 万文字を超える説明...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル行数カウント

はじめに 「行数を数える」だけなのに、なぜユーティリティにするのか「ファイルの行数カウント」って、一見すごく地味ですよね。でも業務では、ログ解析、CSV のレコード数チェック、インポート前の件数確認、...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル差分検出

はじめに 「違うかどうか」から一歩進んで「どこが違うか」前回の「ファイル内容比較」は、「同じか」「違うか」を true / false で判定する話でした。でも、業務ではそれだけでは足りない場面がよく...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル内容比較

はじめに 「同じファイルか?」は業務でめちゃくちゃ重要業務システムを書いていると、こんなことを知りたくなる場面がよくあります。バックアップ前:「前回のバックアップと中身が同じなら、コピーをスキップした...
C#

C# Tips | ファイル・ディレクトリ操作:ファイルロック判定

はじめに なぜ「ファイルロック判定」が業務で重要なのか業務システムでは、「今このファイル、誰かが開いていないかな?」を気にしなければいけない場面がよくあります。たとえば、次のような状況です。他のプロセ...
C#

C# Tips | ファイル・ディレクトリ操作:一時フォルダ作成

はじめに 一時フォルダは「作業用の安全な砂場」一時ファイルと同じくらい、業務でよく使うのが「一時フォルダ」です。大きな ZIP を展開して中身を処理するとき、複数ファイルを一時的に並べてからまとめてア...
C#

C# Tips | ファイル・ディレクトリ操作:一時ファイル作成

はじめに 一時ファイルは「使い捨ての作業机」業務システムを書いていると、「ちょっとだけデータを置いておきたい」場面がよく出てきます。たとえば、大きなファイルを分割して処理するときの中間結果、ダウンロー...
C#

C# Tips | ファイル・ディレクトリ操作:パス正規化

はじめに 「パス正規化」って何をすること?「パス正規化」という言葉、ちょっと堅いですよね。でもやっていることはシンプルで、「バラバラな書き方のパスを、同じルールで整える」ことです。同じ場所を指している...
C#

C# Tips | ファイル・ディレクトリ操作:パス結合

はじめに なぜ「パス結合」が業務でめちゃくちゃ大事なのかファイルやディレクトリを扱うコードを書くとき、ほぼ必ず出てくるのが「パスの結合」です。たとえば「ログフォルダのパス」と「ファイル名」からフルパス...
C#

C# Tips | ファイル・ディレクトリ操作:絶対パス→相対パス

はじめに なぜ「絶対パス→相対パス」が必要になるのかさっきまでは「相対パス → 絶対パス」をやりましたが、現場ではその逆、「絶対パス → 相対パス」に変換したい場面もかなり多いです。例えばこんなケース...
C#

C# Tips | ファイル・ディレクトリ操作:相対パス→絶対パス

はじめに なぜ「相対パス→絶対パス」が業務で重要なのか業務システムでは、設定ファイルやログ出力先などを「相対パス」で書くことがよくあります。たとえば logs\app.log や ..\config\...
C#

C# Tips | ファイル・ディレクトリ操作:ディレクトリ一覧取得

はじめに なぜ「ディレクトリ一覧取得」が業務で重要なのか業務システムでは、ファイルだけでなく「フォルダ(ディレクトリ)」を扱う場面が非常に多いです。たとえば次のようなケースです。日付ごとにフォルダが作...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル一覧取得

はじめに なぜ「ファイル一覧取得」が業務の入り口になるのか業務システムでファイルを扱う処理は、ほぼ必ず「まず対象フォルダのファイル一覧を取る」ところから始まります。たとえば「このフォルダの CSV を...
C#

C# Tips | ファイル・ディレクトリ操作:指定拡張子検索

はじめに なぜ「指定拡張子検索」が業務で重要なのか業務システムでは、「.csv だけ集めてバッチ処理したい」「.log だけを圧縮したい」「.bak だけをバックアップフォルダに移動したい」といった、...
C#

C# Tips | ファイル・ディレクトリ操作:空フォルダ削除

はじめに なぜ「空フォルダ削除」が業務で役に立つのか業務システムでファイルを扱っていると、ログやバックアップ、インポート・エクスポート用の一時フォルダなどがどんどん増えていきます。ファイルは削除してい...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル属性変更

はじめに 「ファイル属性変更」ができると何が嬉しいのか業務でファイルを扱っていると、こんなことが起きます。「ユーザーがコピーしてきたファイルが読み取り専用で、削除できない」「ログファイルを隠しファイル...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル読み取り専用判定

はじめに なぜ「読み取り専用判定」が業務で効いてくるのか業務システムでファイルを扱うとき、「このファイル、書き込んでいいのか?」「上書きしようとしたら失敗した」「削除できないと思ったら読み取り専用だっ...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル更新日時取得

はじめに なぜ「ファイル更新日時取得」が業務で重要なのか業務システムでは、「前回処理してから更新されたファイルだけを再処理したい」「一定期間更新されていないログを削除したい」「外部システムからのファイ...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル作成日時取得

はじめに なぜ「ファイル作成日時取得」が業務で重要なのか業務システムでは、「一番新しいファイルだけ処理したい」「一定期間より古いファイルを削除したい」「いつ受信したファイルなのかをログに残したい」とい...
C#

C# Tips | ファイル・ディレクトリ操作:ファイルサイズ取得

はじめに なぜ「ファイルサイズ取得」が業務で重要なのか業務システムでは、「受信したファイルが想定サイズ以上かチェックする」「空ファイル(サイズ 0)をエラーとして弾く」「バックアップやログの容量を集計...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル名一括変更

はじめに なぜ「ファイル名一括変更」が業務で効くのか業務システムや日々の運用では、「毎日出力されるファイルに連番を振りたい」「人が付けたバラバラな名前を、システムで扱いやすい規則的な名前に揃えたい」「...
C#

C# Tips | ファイル・ディレクトリ操作:拡張子変更

はじめに なぜ「拡張子変更」が業務で役に立つのか業務システムでは、「処理前は .tmp として保存しておき、処理が成功したら .csv にリネームする」「受信したファイルを .dat から .bak ...
C#

C# Tips | ファイル・ディレクトリ操作:再帰的フォルダ削除

はじめに なぜ「再帰的フォルダ削除」は危険で、だからこそ重要なのか業務システムでは、「一時作業フォルダを丸ごと消す」「古いバックアップフォルダをまとめて削除する」「処理失敗時に作業領域をクリーンアップ...
C#

C# Tips | ファイル・ディレクトリ操作:再帰的フォルダコピー

はじめに なぜ「再帰的フォルダコピー」が業務で重要なのか業務システムでは、「あるフォルダ一式を丸ごとバックアップしたい」「テンプレートフォルダをそっくり複製して新しい案件用フォルダを作りたい」「旧サー...
C#

C# Tips | ファイル・ディレクトリ操作:ディレクトリ削除

はじめに なぜ「ディレクトリ削除」は特に慎重さが必要なのか業務システムでは、古いバックアップフォルダを消す、一時作業用フォルダを片付ける、処理に失敗した作業領域をクリーンアップするなど、「フォルダごと...
C#

C# Tips | ファイル・ディレクトリ操作:ディレクトリ作成

はじめに なぜ「ディレクトリ作成」が業務で重要なのか業務システムでは、ログ出力フォルダ、バックアップフォルダ、インポート用フォルダ、エクスポート用フォルダなど、「フォルダが存在していること」を前提にし...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル削除

はじめに なぜ「ファイル削除」は慎重さが必要なのか業務システムでは、古いログを消す、一時ファイルを片付ける、処理に失敗した中間ファイルを削除するなど、「ファイルを消す」処理が必ず出てきます。ただし、コ...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル移動

はじめに なぜ「ファイル移動」が業務で重要なのか業務システムでは、「処理前フォルダから処理済みフォルダへ移動する」「受信フォルダからアーカイブフォルダへ退避する」「一時フォルダから本番フォルダへ本番反...
C#

C# Tips | ファイル・ディレクトリ操作:ファイルコピー

はじめに なぜ「ファイルコピー」が業務で重要なのか業務システムでは、バックアップを取る、別フォルダにエクスポートする、他システム連携用の受け渡しフォルダにコピーする、といった「ファイルを別の場所に複製...
C#

C# Tips | ファイル・ディレクトリ操作:ディレクトリ存在チェック

はじめに なぜ「ディレクトリ存在チェック」が重要なのか業務システムでは、ログ出力フォルダ、バックアップフォルダ、インポート用フォルダ、エクスポート用フォルダなど、「フォルダが存在すること」を前提にした...
C#

C# Tips | ファイル・ディレクトリ操作:ファイル存在チェック

はじめに ファイル「存在チェック」はなぜ大事か業務システムでは、「このファイルがある前提」で処理を書いてしまうと、現場で簡単に事故が起きます。たとえば「毎朝、前日の売上 CSV を読み込むバッチ」が、...
スポンサーリンク
タイトルとURLをコピーしました