C# のメソッドパラメータ修飾子 out・ref・in・params の動作と使い所を整理します。
C# 6.0 の Expression-Bodied メンバ、C# 7.0 のローカル関数、C# 8.0 の static ローカル関数を一か所にまとめて整理します。
C# 8.0 で導入された System.Range は、コレクションの開始・終了インデックスで部分範囲を表す型です。.. 演算子と ^ 演算子を組み合わせてスライス操作を直感的に書けます。
C# 8.0 で導入された System.Index は、コレクションの先頭または末尾からの位置を表す型です。^ 演算子を使うと末尾から数えたインデックスを簡潔に書けます。
C# の switch 文では goto case と goto default を使って別の case セクションへ制御を移せます。この構文は C# 1.0 から存在します。
C# 7.0 で switch 文にパターンマッチングが導入され、型パターンや when 句が使えるようになりました。C# 9.0 ではさらに関係パターンや論理パターンが加わりました。本記事では switch 文における変遷を順に整理します。
C# 7.0 で導入された is パターンマッチングは、9.0 で not / and / or などの論理パターンが加わり大きく進化しました。本記事では if 文で使えるパターンを 7.0 から 9.0 まで順に整理します。
C# の checked キーワードを使うと、整数演算がオーバーフローしたときに OverflowException をスローさせることができます。本記事では checked / unchecked の動作の違い、checked ブロック、コンパイラオプションまで整理します。
Laravel の Event / Listener は Pub/Sub パターンをフレームワークレベルで実装した仕組みです。本記事では Event クラスと Listener クラスの作り方、登録方法、非同期処理への対応までを整理します。
C# の delegate はメソッドを変数として扱う仕組みで、event はそれを通知専用に制限したものです。本記事では delegate の基本から event キーワードの意味、マルチキャスト、EventHandler の慣習まで順に整理します。