C# 9.0 の確認の目次はこちら ■ 静的な匿名関数 ドキュメントはこちら 適合性と完成度の機能 という項目の割と読み進めた所の 「C# 9.0 以降では、」 から始まるブロックです。 名前の通りにラムダ式と匿名関数に static 修飾子をつけられるようになりました。シンプルなのでドキュメントに書いてあることしか言えませんね。 公式ドキュメントだけで十分という気がしますが試してみましょう。 ■ 検証コードと結果 ■ ラムダ式 冷静に見ないと一瞬わからなくなるかもしれませんが、こんな感じです。 new[] { 0 }.Select(static x => x); static なので外部の変数をキャプチャできません。素晴らしいですね。 var i = 0; new[] { 0 }.Select(static x => x + i); // これはエラー 変数 i はラムダ式の外の変数なの