C# 9: ラムダの小改善

9では、”Discard Parameter”と”Static Anonymous Function”という2つの新機能によってラムダに小さなアップグレードが施される予定である。いずれもコードの記述方法を変えるものではないが、開発者の意図を明確にしてくれる。

C# 9: Swicth文の範囲演算子とパターンマッチング式

C#が初めて紹介された頃から、開発者たちは、この言語のswitch構造に範囲演算子(range operator)のないことに不満を唱えていた。このためにC#のswitchは、VBよりもはるかに使い勝手が悪かったのだ。C# 9では、パターンマッチング拡張の一部として、この制限への対処が行われている。

C# 9: パターンマッチングの新キーワード `and`、`or`、`not`

エイプリルフールのジョークのように聞こえるかも知れないが、C# 9では"and"、"or"、"not"がキーワードに加わる予定である。具体的には、パターンマッチングで使用するためだ。

C#の新機能: nullチェック演算子

6月24日のC# Language Design Meetingで、Microsoftは、パラメータnullチェック構文の一部を変更した。"Type parameterName!"から"Type parameterName!!"に変更して、実質的に新しい"nullチェック演算子"を導入したのだ。

C# 9: newキーワードの型推論

多くの場合において、特定の場所で使用可能な型はただひとつのはずだ。しかしC#では、依然として型を明示的に指定する必要がある。今回、ターゲット型(Target-typed)'new'式の提案がC# 9で採用されたことにより、このようなボイラープレートコードは不要になる。

Java 注目の機能:Sealed クラス

2020年9月にリリースされるJava SE 15では、プレビュー機能として「Sealedクラス」(JEP 360)が導入される。Sealedクラスとは、他のクラスやインターフェイスがそれを拡張することができるクラスやインターフェイスを制限するものだ。Sealedクラスは、列挙型のように、ドメインモデルの中の選択肢を捕捉し、プログラマーやコンパイラが網羅性を推論できるようにする。

C# 9: New `and`, `or`, and `not` Keywords for Pattern Matching

Though it may sound like our occasional April Fools Day joke, C# 9 is looking to add `and`, `or`, and `not` to its list of keywords. Specifically, for use in pattern matching.

C# 9: シンプルになったパラメータnullバリデーション

シンプルになったパラメータnullバリデーションがC# 9の機能として取り入れられることになった。最小化されたこの機能では、非nullパラメータの検証に必要なコードが、関数シグネチャ内の1文字にまで削減されている。

C# Futures: Null Check Operator

In the June 24th C# Language Design Meeting, Microsoft made a subtle change to the parameter null checking syntax. By changing it from “Type parameterName!” to “Type parameterName!!” they effectively introduced a new ‘null check operator’.

C# 9: Type Inference for the New Keyword

In many situations, there is only one possible type allowed in a given place. And yet C# still requires you to explicitly list the type. Now that the Target-typed `new` expression proposal has been adopted into C# 9, such boilerplate code will no longer be necessary.

C# 9 - ソースジェネレータのためのパーシャルメソッド拡張

C# 9のソースジェネレータ(Source Generator)は、コンパイル時にコードを調査して追加的にソースコードを挿入するようなコンパイラ拡張を可能にする。挿入されたコードは、コンパイルされたものとまったく同じアセンブリに組み込まれる。この機能を活用するためにMicrosoftは、パーシャルメソッドの制限の大部分を撤廃することにしている。

C# 9ではスクリプティングをファーストクラスサポートへ

"スクリプティング"言語を定義する特徴のひとつは、ボイラープレートを必要としないことだ。ファイルの最初の行から、通常は関数の中にある宣言やステートメントを記述することができる。更新されたトップレベルステートメントの提案では、この機能がC# 9に計画されている。