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

この図鑑の使い方
言語で絞る
C# / SQL / TypeScript / PowerShell / Bash でフィルタ。
▶ で実行
事前収録の出力を 1 行ずつ再生。 ぱっと結果が見える。
記事と接続
各 snippet は出典記事へのリンク付き。 文脈ごと読める。
絞り込み
snippet 一覧
473 件public class User { public int id { get; set; } public string UserName { get; set; } public string Password { get; set; }
UserModelの構造
ASP.NETでDetails時にログイン中ユーザーのデータのみ出力する方法未収録#e56e61c0cb1b
// GET: Todoes/Details/5 public ActionResult Details(int? id) { if (id == null) {
Detailsでログイン中ユーザーの情報を取ってみる!
ASP.NETでDetails時にログイン中ユーザーのデータのみ出力する方法未収録#37656672c676
private User GetLoginUser() { return db.Users.FirstOrDefault(u => u.UserName == User.Identity.Name); }
Detailsでログイン中ユーザーの情報を取ってみる!
ASP.NETでDetails時にログイン中ユーザーのデータのみ出力する方法未収録#52ae7c289ba8
public class Todo { public int Id { get; set; } public string Sammary { get; set; } public string Detail { get; set; }
TodoMODELの構造
【ASP.NET&C#】でログイン中ユーザーの情報のみやり取りする方法未収録#94bb3c19e04e
public class User { public int id { get; set; } public string UserName { get; set; } public string Password { get; set; }
UserModelの構造
【ASP.NET&C#】でログイン中ユーザーの情報のみやり取りする方法未収録#42f3bffa5f4c
public class TodoesController : Controller { private AspStudyContext db = new AspStudyContext(); // GET: Todoes
TodoのController
【ASP.NET&C#】でログイン中ユーザーの情報のみやり取りする方法未収録#9b037cfc6f46
static void Main(string[] args) { var items = new int[]{1,2,3,5,8,9,7,10,66,78,99,100}; }
static void Main(string[] args)
C#でLinqの結果でNull回避したい場合の処理!未収録#f382a67110db
var items = new int[]{1,2,3,5,8,9,7,10,66,78,99,100}; var extractionItems = items.Where(item => item % 3 == 0); foreach (var item in extractionItems)
▶ 実行可
var items = new int[]{1,2,3,5,8,9,7,10,66,78,99,100};
C#でLinqの結果でNull回避したい場合の処理!#9f085fe201b0
static void Main(string[] args) { var items = new int[]{1,2,3,5,8,9,7,10,66,78,99,100}; var extractionItems = items.Where(item => item % 10000 == 0);
▶ 実行可
static void Main(string[] args)
C#でLinqの結果でNull回避したい場合の処理!#9e298d8db799
static void Main(string[] args) { var items = new int[]{1,2,3,5,8,9,7,10,66,78,99,100}; var extractionItems = items.Where(item => item % 10000 == 0);
▶ 実行可
static void Main(string[] args)
C#でLinqの結果でNull回避したい場合の処理!#0e707259adbd
class Program { static void Main(string[] args) { var items = new int[]{1,2,3,5,8,9,7,10,66,78,99,100};
▶ 実行可
C#でLinqを使って結果Nullを回避する。
C#でLinqの結果でNull回避したい場合の処理!#2920c9484983
try{ this.UseWaitCursor = true; // 時間のかかるイベント。非同期実装 MessageBox.Show("処理が終わりました。")
try{
C#のWinformsでuseWaitCursorが戻らないバグ未収録#8984159e60f0
private string GetWaitCursorStatus(Control control) { var str = $@"{control.Name} : {control.UseWaitCursor.ToString()}"; foreach (Control c in control.Controls)
Cursorに関係するプロパティ
C#のWinformsでuseWaitCursorが戻らないバグ未収録#88d310bbe912
try{ this.UseWaitCursor = true; // 時間のかかるイベント。非同期実装 MessageBox.Show("処理が終わりました。")
Cursorに関係するプロパティ
C#のWinformsでuseWaitCursorが戻らないバグ未収録#382d8d2f7c55
namespace CallBackNDelegate { class Program { static void Main(string[] args)
▶ 実行可
C#でのコールバックとは何?
C#のコールバックとデリゲートの違いはなんなのか!#b27a099f25d2
class Program { static void Main(string[] args) { Say2(GetHello);
▶ 実行可
C#でのコールバックとは何?
C#のコールバックとデリゲートの違いはなんなのか!#9ce9d42aea40
public static class Delegate { public delegate string GetHelloDelegate(string str); public delegate void SayHelloDelegate(); public static void Say()
▶ 実行可
C#でのデリゲートとは?
C#のコールバックとデリゲートの違いはなんなのか!#bf1bdb003cf1
//抽象的なコールバックの構造 //「呼ぶ側」が「呼ばれる側」に処理を渡しておく void DoSomething(コールバック型callback) { // ...何か仕事をする...
コールバックは「概念」、C#以前から存在する
C# のコールバック・デリゲート・イベントの違いを業務SEが30分で腹落ちさせる未収録#c51e4f151e8e
//メソッドのシグネチャを型として宣言 public delegate bool ValidationFunc(string input); public class Validator {
①自前delegate宣言
C# のコールバック・デリゲート・イベントの違いを業務SEが30分で腹落ちさせる未収録#3e9360c3bce4
// Action:戻り値なし Action<int> log = n => Console.WriteLine($"value={n}"); log(42); // Func:戻り値あり(最後の型引数が戻り値)
▶ 実行可
② Action / Func(標準ジェネリックデリゲート)
C# のコールバック・デリゲート・イベントの違いを業務SEが30分で腹落ちさせる#be40399f77a4
// 1行ラムダ Func<int, int> square = x => x * x; //複数行ラムダ Action<List<string>> print = list =>
▶ 実行可
③ラムダ式・匿名メソッド
C# のコールバック・デリゲート・イベントの違いを業務SEが30分で腹落ちさせる#c9dabbaae3dc
//イベントを生やすクラス側 public class FileWatcher { public event Action<string> FileChanged; // ←デリゲート型+ eventキーワード
▶ 実行可
+= / -=の正体
C# のコールバック・デリゲート・イベントの違いを業務SEが30分で腹落ちさせる#b5d4dfa3116b
//標準形 public event EventHandler<MyEventArgs> ItemSelected; //発火 ItemSelected?.Invoke(this, new MyEventArgs(selectedId));
▶ 実行可
EventHandler系の慣習
C# のコールバック・デリゲート・イベントの違いを業務SEが30分で腹落ちさせる#3707bc4ea319
var actives = users .Where(u => u.IsActive)// Func<User, bool> .Select(u => new { u.Id, u.Name })// Func<User, anonymous> .OrderBy(u => u.Name)// Func<anonymous, string> .ToList();
LINQのFunc<T,bool>も同じ仕組み
C# のコールバック・デリゲート・イベントの違いを業務SEが30分で腹落ちさせる未収録#24bf8006ce09
// ❌ NG: ChildFormを閉じた後も購読が残ってChildFormがGCされない appWideManager.DataUpdated += childForm.OnDataUpdated; // ✅ OK: ChildFormが閉じる時に解除する childForm.FormClosed += (_, __)=>
①イベント解除忘れでメモリリーク
C# のコールバック・デリゲート・イベントの違いを業務SEが30分で腹落ちさせる未収録#42377c32e3e0
// ❌ NG:ラムダで登録すると、解除しようとしても同じ参照が作れない manager.DataUpdated += data => this.Process(data); // ↓これだと別のラムダ→解除できない manager.DataUpdated -= data => this.Process(data);
②ラムダでthisを意図せずキャプチャ
C# のコールバック・デリゲート・イベントの違いを業務SEが30分で腹落ちさせる未収録#d9122f66523e
manager.DataUpdated -= someHandler; // ↑ someHandlerが登録されてなくても何も言わない //多重登録されてた場合も「1個だけ」外す挙動なので、登録回数と解除回数を揃える必要がある
③ -=が効いてないのに気付かない
C# のコールバック・デリゲート・イベントの違いを業務SEが30分で腹落ちさせる未収録#4f9681d586f0
public interface IVehicle { string MoveSound { get; } }
Interfaceの準備
【C#】Interfaceを継承しているかを判断しついでにコンバートしてみる未収録#ef6f895a3a12
public interface ICar { string Maker { get; } }
Interfaceの準備
【C#】Interfaceを継承しているかを判断しついでにコンバートしてみる未収録#34bea12e472d
public class Subaru : IVehicle , ICar { public string MoveSound => "ブーブー"; public string Maker => "Subaru"; }
Interfaceの準備
【C#】Interfaceを継承しているかを判断しついでにコンバートしてみる未収録#bb06c59edfc9