C#

スポンサーリンク
C#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

はじめに 「ローカル変換」は“人間にとっての時間に戻す”作業UTC変換が「システムにとって都合のいい時間」にそろえる作業だとしたら、ローカル変換はその逆で、「人間が暮らしているタイムゾーンの時間に戻す」作業です。DBには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 と YES と yes を全部同じ扱いに...
C#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

はじめに 「数字のみ抽出」は“文字列から数値の芯だけを取り出す”技業務システムでは、こういう文字列がよく出てきます。"ID: 12345""注文No=AB-2025-00123""TEL 03-1234-5678"人間が見れば「数字の部分は...
スポンサーリンク