ブログ 2024/03/09 C# 13 でのコレクション式 - 制限の緩和の話 C# 13 でのコレクション式 - 制限の緩和の話 C# 12 でコレクション式が入ったわけですが、 スケジュールの都合で「C# 12 後に改めて検討する」ということになった機能がたくさんあります。 C# 12 リリース(2023/11)直後から再検討が始まっていて、先月にはある程度まとまった計画が出ています。 [Proposal]: Collection Expressions Next (C#13 and beyond) 量が多いのでちょっとずつ取り上げ… ディクショ… 続きを読む 2024/03/03 IList とかを IReadOnlyList とかから派生させたい .NET が長らく抱えている「なぜ IList<T> は IReadOnlyList<T> ではないのか」問題、 .NET 9 で解消するかもしれないみたい。 ちなみに、問題を抱えるに至った原因は IReadOnlyList<T> が後付けということです。 1から作り直すのであれば、誰がどう考えても IList<T> は IReadOnlyList<T> から派生させるのが自然です。 それがかえって、IReadOnlyList&l… 続きを読む 2024/03/02 params コレクション ほぼ1年ぶりの params の話。 params を配列以外のコレクションに対して使えるようにするという話ですが、 雰囲気的に C# 13 でついに 入りそうです。 なので、最近そこそこ高頻度で Language Design Meeting の議題に上がっています。 Params Collection C# Language Design Meeting November 15th, 2023 January 29th, 2024 January 31st, 20… 続きを読む 2024/02/25 ラムダ式の引数で、型名を省略して ref, out などだけを指定 ラムダ式で、ref 引数などに対して ref x => { } みたいに書けるようにしたいという話が出ています。 ラムダ式での ref 引数、out 引数 ラムダ式は、状況が許すなら、x => { } などといったように非常に簡素に書けます。 ところが、ref や out が絡むとそうもいかなくて、型推論が効く状況でも型名を省略できません。 // 通常、ラムダ式は型推論が効く限り、引数の型を省略できる。 Action<int> a = x => { }… 続きを読む 2024/02/24 field, value を文脈キーワード化 C# 13 向けに検討されている機能の一つに、 「半自動プロパティ」とか「field キーワード」と呼ばれているものがあります。 元々は C# 12 向けに考えられていて、去年、うちのブログでも書いているやつです。 【C# 12 候補】半自動プロパティ 簡単におさらいすると、 プロパティの get/set アクセサー内で、field を使って バッキング フィールド(自動プロパティの値を保存するためにコンパイラーが生成するフィールド)に明示的にアクセスするというものです。 … 続きを読む 新しい投稿へ 過去の投稿へ
2024/03/09 C# 13 でのコレクション式 - 制限の緩和の話 C# 13 でのコレクション式 - 制限の緩和の話 C# 12 でコレクション式が入ったわけですが、 スケジュールの都合で「C# 12 後に改めて検討する」ということになった機能がたくさんあります。 C# 12 リリース(2023/11)直後から再検討が始まっていて、先月にはある程度まとまった計画が出ています。 [Proposal]: Collection Expressions Next (C#13 and beyond) 量が多いのでちょっとずつ取り上げ… ディクショ… 続きを読む
2024/03/03 IList とかを IReadOnlyList とかから派生させたい .NET が長らく抱えている「なぜ IList<T> は IReadOnlyList<T> ではないのか」問題、 .NET 9 で解消するかもしれないみたい。 ちなみに、問題を抱えるに至った原因は IReadOnlyList<T> が後付けということです。 1から作り直すのであれば、誰がどう考えても IList<T> は IReadOnlyList<T> から派生させるのが自然です。 それがかえって、IReadOnlyList&l… 続きを読む
2024/03/02 params コレクション ほぼ1年ぶりの params の話。 params を配列以外のコレクションに対して使えるようにするという話ですが、 雰囲気的に C# 13 でついに 入りそうです。 なので、最近そこそこ高頻度で Language Design Meeting の議題に上がっています。 Params Collection C# Language Design Meeting November 15th, 2023 January 29th, 2024 January 31st, 20… 続きを読む
2024/02/25 ラムダ式の引数で、型名を省略して ref, out などだけを指定 ラムダ式で、ref 引数などに対して ref x => { } みたいに書けるようにしたいという話が出ています。 ラムダ式での ref 引数、out 引数 ラムダ式は、状況が許すなら、x => { } などといったように非常に簡素に書けます。 ところが、ref や out が絡むとそうもいかなくて、型推論が効く状況でも型名を省略できません。 // 通常、ラムダ式は型推論が効く限り、引数の型を省略できる。 Action<int> a = x => { }… 続きを読む
2024/02/24 field, value を文脈キーワード化 C# 13 向けに検討されている機能の一つに、 「半自動プロパティ」とか「field キーワード」と呼ばれているものがあります。 元々は C# 12 向けに考えられていて、去年、うちのブログでも書いているやつです。 【C# 12 候補】半自動プロパティ 簡単におさらいすると、 プロパティの get/set アクセサー内で、field を使って バッキング フィールド(自動プロパティの値を保存するためにコンパイラーが生成するフィールド)に明示的にアクセスするというものです。 … 続きを読む