動くコード図鑑
$ ls -1 /library | wc -l → 619
触って動く、検証済みの正解集。
公開記事から抽出した全コードブロックを 1 つずつページ化。 ▶ ボタンで 実行ログを再生し、 さも今動いてるかのように出力を流す。

この図鑑の使い方
言語で絞る
C# / SQL / TypeScript / PowerShell / Bash でフィルタ。
▶ で実行
事前収録の出力を 1 行ずつ再生。 ぱっと結果が見える。
記事と接続
各 snippet は出典記事へのリンク付き。 文脈ごと読める。
絞り込み
snippet 一覧
473 件public enum FilterType { HTML = 1, CSV }
これを応用すると下記のような感じにもできる。
C#でOpenFileDialogが継承できない?それならフィールドに持っちゃえばいいんじゃね?未収録#4150199d1ce1
public class CustomOpenFileDialog { private OpenFileDialog _ofd; public string FileName => _ofd.FileName;
これを応用すると下記のような感じにもできる。
C#でOpenFileDialogが継承できない?それならフィールドに持っちゃえばいいんじゃね?未収録#b19dc111a5eb
private void button1_Click(object sender, EventArgs e) { var cofd = new CustomOpenFileDialog(FilterType.CSV); if (cofd.ShowDialog() == DialogResult.OK) {
これを応用すると下記のような感じにもできる。
C#でOpenFileDialogが継承できない?それならフィールドに持っちゃえばいいんじゃね?未収録#3cbb7f609ff9
private string _gender; public string Gender { get { return _gender; } set { _gender = value; }
プロパティはフィールド(メンバ変数)へのアクセスする手段でしかない
【C#】プロパティとフィールド(メンバ変数)の決定的な違い!未収録#03c4cbbe71da
private string _gender; public string Gender { get => _gender; set => _gender = value;
プロパティはフィールド(メンバ変数)へのアクセスする手段でしかない
【C#】プロパティとフィールド(メンバ変数)の決定的な違い!未収録#f0d0d8bc2968
public class User { public int ID { get; set; } public string Name { get; set; }
Datagridに値を表示できる
【C#】プロパティとフィールド(メンバ変数)の決定的な違い!未収録#147badd2385c
private void Form1_Load(object sender, EventArgs e) { _users = new List<User>() { new User(20,1,"杉山","東京都","男")
Datagridに値を表示できる
【C#】プロパティとフィールド(メンバ変数)の決定的な違い!未収録#10a217f49692
public class XmlHelper<T> where T : class { public string TargetPath { get; set; } private Encoding encoding => System.Text.Encoding.GetEncoding("shift_jis");
シリアライズしてXMLにできる(Privateのみ出力できない)
【C#】プロパティとフィールド(メンバ変数)の決定的な違い!未収録#7d09cf0c607a
var props = typeof(User).GetProperties(); var str = new StringBuilder(); foreach (var user in _users) {
プロパティを動的に探して色々できる
【C#】プロパティとフィールド(メンバ変数)の決定的な違い!未収録#bf30b0e5ea43
public class User { public int ID { get; set; } public string Name { get; set; } public string Address { get; set; }
プロパティを動的に検索して値を取得してみる
【C#】プロパティを動的に検索して値を取得したり変更する!未収録#a00cbaec9221
class Program { static void Main(string[] args) { var user = new User(1,"鈴木","東京都墨田区");
プロパティを動的に検索して値を取得してみる
【C#】プロパティを動的に検索して値を取得したり変更する!未収録#42b95ad4072a
class Program { static void Main(string[] args) { var user = new User(1,"鈴木","東京都墨田区");
▶ 実行可
プロパティを動的に検索して値を取得してみる
【C#】プロパティを動的に検索して値を取得したり変更する!#8c60479060d4
PropertyInfo[] props = typeof(User).GetProperties(); var propNames = props.Select(prop => prop.Name); Console.WriteLine(String.Join(",",propNames.ToArray())); Console.ReadLine();
▶ 実行可
簡単に解説
【C#】プロパティを動的に検索して値を取得したり変更する!#fde80ee13ca4
// ここでAddressのプロパティの情報を抜き出して var addressProp = props.FirstOrDefault(item => item.Name == nameof(User.Address)); // ここで上記プロパティ情報にインスタンスを投げてデータを取得してる。 Console.WriteLine(addressProp.GetValue(user));
▶ 実行可
簡単に解説
【C#】プロパティを動的に検索して値を取得したり変更する!#1b3dedb8c55c
var user = new User(1, "鈴木", "東京都墨田区"); PropertyInfo[] props = typeof(User).GetProperties(); // ここでAddressのプロパティの情報を抜き出して var addressProp = props.FirstOrDefault(item => item.Name == nameof(User.Address));
▶ 実行可
プロパティを動的に検索して値を変更してみる
【C#】プロパティを動的に検索して値を取得したり変更する!#91b9a817b639
public class Car { public int ID { get; set; } public string Name { get; set; } public string Maker { get; set; }
まずはサンプルクラスの用意
【C#】プロパティを動的に検索して型の種類を取得する!未収録#dcd0259bbef6
class Program { static void Main(string[] args) { PropertyInfo[] props = typeof(Car).GetProperties();
▶ 実行可
PropertyInfoから型を取得する
【C#】プロパティを動的に検索して型の種類を取得する!#64159c77779d
using System.Text.RegularExpressions; public static class EmailValidator { // ✅業務系の現実版(簡易・ほぼ十分)
▶ 実行可
パターン1:メールアドレス検証—簡易版が現実解
C# 正規表現の業務系基本 — メール / 電話 / 郵便番号 / 全角半角の入力検証5パターン#8e620c411684
using System.Text.RegularExpressions; public static class PhoneValidator { // ✅国内電話番号(先頭0 +ハイフン任意)
▶ 実行可
パターン2:電話番号検証—国内+国際対応
C# 正規表現の業務系基本 — メール / 電話 / 郵便番号 / 全角半角の入力検証5パターン#f2eebc57a171
using System.Text.RegularExpressions; public static class PostalCodeValidator { // ✅郵便番号: 7桁+ハイフン任意
▶ 実行可
パターン3:郵便番号検証— 7桁ハイフン形式
C# 正規表現の業務系基本 — メール / 電話 / 郵便番号 / 全角半角の入力検証5パターン#da3fce3a8fab
using System.Text.RegularExpressions; public static class CharTypeValidator { // ✅全角文字(ASCII外)が含まれているか
▶ 実行可
パターン4:全角半角判定— Unicode範囲
C# 正規表現の業務系基本 — メール / 電話 / 郵便番号 / 全角半角の入力検証5パターン#50a671243a77
using System; using System.Text.RegularExpressions; public static class FormatValidator {
▶ 実行可
パターン5:数値・日付フォーマット検証
C# 正規表現の業務系基本 — メール / 電話 / 郵便番号 / 全角半角の入力検証5パターン#5f14a216eab8
using System.Diagnostics; using System.Text.RegularExpressions; public static class RegexPerformanceComparison {
▶ 実行可
パターン6: RegexOptions.Compiledでパフォーマンス改善
C# 正規表現の業務系基本 — メール / 電話 / 郵便番号 / 全角半角の入力検証5パターン#228fa557c142
DataRow row = dt.Rows[0]; object val = row["bikou"]; //この時点で値はobject型 string bikou = val is DBNull ? null
イディオム1: is DBNullで直接比較する基本形
SQL Server の DBNull を C# で安全にハンドリングする5つのイディオム未収録#12f251f72d35
//整数列を扱う場合 int? amount = row["amount"] is DBNull ? (int?)null : Convert.ToInt32(row["amount"]);
イディオム1: is DBNullで直接比較する基本形
SQL Server の DBNull を C# で安全にハンドリングする5つのイディオム未収録#0dee0b27ad7e
//文字列列のnull安全取得 string bikou = Convert.IsDBNull(row["bikou"])? null : row["bikou"].ToString(); //あるいは??と組み合わせて空文字フォールバック string bikouOrEmpty = (Convert.IsDBNull(row["bikou"])? null : row["bikou"].ToString())?? string.Empty;
イディオム2: Convert.IsDBNull + ??演算子のシンプルパターン
SQL Server の DBNull を C# で安全にハンドリングする5つのイディオム未収録#769f7a7bda55
//罠:Convert.ToInt32(DBNull.Value)は0を返す int amount = Convert.ToInt32(row["amount"]); // row["amount"] がDBNullだとamount = 0になる //「金額0円」と「未入力」を区別したい業務系では事故の元
イディオム2: Convert.IsDBNull + ??演算子のシンプルパターン
SQL Server の DBNull を C# で安全にハンドリングする5つのイディオム未収録#f6d9581c23a1
using (var conn = new SqlConnection(connStr)) using (var cmd = new SqlCommand("SELECT id, name, amount FROM customers", conn)) { conn.Open(); using (var reader = cmd.ExecuteReader())
イディオム3: DataReader.IsDBNull(i)で読み取り時に分岐
SQL Server の DBNull を C# で安全にハンドリングする5つのイディオム未収録#5206497a1ab8
//拡張メソッド化すると行が圧縮できる public static class SqlReaderExtensions { public static T? GetNullable<T>(this SqlDataReader reader, int ordinal) where T : struct
イディオム3: DataReader.IsDBNull(i)で読み取り時に分岐
SQL Server の DBNull を C# で安全にハンドリングする5つのイディオム未収録#13fb96000b24
using System.Data; DataRow row = dt.Rows[0]; //値型→ Nullable<T>で受ける
イディオム4: DataRow.Field<T>()でNullable<T>受け(業務系最強)
SQL Server の DBNull を C# で安全にハンドリングする5つのイディオム未収録#94099dc30e09