InfoQ ホームページ csharp9 に関するすべてのコンテンツ
ニュース
RSSフィード-
Mercuryは、C#と同等の機能をVisual Basicで提供し、新たに複数のプラットフォームをサポート
RemObjects Mercuryは、Visual Basic for .NETを更新し、現在の.NET機能のサポートを追加した。同時に、WebAssembly、iOS、Android、Linuxなどのより多くのプラットフォームで利用できるようにした。
-
C# 9がリリース - record型、init-onlyセッタ、パターンマッチングの拡張を提供
Microsoftは、.NET 5開発プラットフォームリリースの一部としてC# 9.0の提供を開始した。.NET 5とC# 9.0はペアになることで、言語に数多くの新機能を提供する。新たな言語機能は、record型、init-onlyセッタ、トップレベルステートメント、パターンマッチングの拡張、target-typed new式、共変戻り値(covariant returns)、他にもたくさんだ!
-
Microsoft .NET Conf 2020: .NET 5、C# 9.0、F# 5.0など
先週オンラインでストリーミングされた.NET Confの2020エディションで、Microsoftは、待望久しい.NET 5と、.NET言語の新たなメジャーバージョン(C# 9、F# 5)、ASP.NET 5、EF Core 5.0をリリースした。Visual Studio 2019の新バージョンもリリースされた。.NET 5のサポートとGitツーリングの改良が行われている。BlazorやProject Tyeなどのツールやフレームワークに関するセッションも実施された。
-
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# 9: newキーワードの型推論
多くの場合において、特定の場所で使用可能な型はただひとつのはずだ。しかしC#では、依然として型を明示的に指定する必要がある。今回、ターゲット型(Target-typed)'new'式の提案がC# 9で採用されたことにより、このようなボイラープレートコードは不要になる。
-
C# 9: シンプルになったパラメータnullバリデーション
シンプルになったパラメータnullバリデーションがC# 9の機能として取り入れられることになった。最小化されたこの機能では、非nullパラメータの検証に必要なコードが、関数シグネチャ内の1文字にまで削減されている。
-
C# 9 - ソースジェネレータのためのパーシャルメソッド拡張
C# 9のソースジェネレータ(Source Generator)は、コンパイル時にコードを調査して追加的にソースコードを挿入するようなコンパイラ拡張を可能にする。挿入されたコードは、コンパイルされたものとまったく同じアセンブリに組み込まれる。この機能を活用するためにMicrosoftは、パーシャルメソッドの制限の大部分を撤廃することにしている。
-
C# 9でコンパイル時メタプログラミングを実現するソースジェネレータ
ソースジェネレータ(Source Generator)は、コンパイラが生成したメタデータを使ってユーザコードを調査し、新たなコードを追加的に生成して、プログラムの他の部分と一緒にコンパイルするという動作を可能にする、C#コンパイラの新機能である。
-
C# 9ではスクリプティングをファーストクラスサポートへ
"スクリプティング"言語を定義する特徴のひとつは、ボイラープレートを必要としないことだ。ファイルの最初の行から、通常は関数の中にある宣言やステートメントを記述することができる。更新されたトップレベルステートメントの提案では、この機能がC# 9に計画されている。