InfoQ ホームページ C# に関するすべてのコンテンツ
-
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で採用されたことにより、このようなボイラープレートコードは不要になる。
-
C# 9: シンプルになったパラメータnullバリデーション
シンプルになったパラメータnullバリデーションがC# 9の機能として取り入れられることになった。最小化されたこの機能では、非nullパラメータの検証に必要なコードが、関数シグネチャ内の1文字にまで削減されている。
-
C# 9 - ソースジェネレータのためのパーシャルメソッド拡張
C# 9のソースジェネレータ(Source Generator)は、コンパイル時にコードを調査して追加的にソースコードを挿入するようなコンパイラ拡張を可能にする。挿入されたコードは、コンパイルされたものとまったく同じアセンブリに組み込まれる。この機能を活用するためにMicrosoftは、パーシャルメソッドの制限の大部分を撤廃することにしている。
-
C# 9でコンパイル時メタプログラミングを実現するソースジェネレータ
ソースジェネレータ(Source Generator)は、コンパイラが生成したメタデータを使ってユーザコードを調査し、新たなコードを追加的に生成して、プログラムの他の部分と一緒にコンパイルするという動作を可能にする、C#コンパイラの新機能である。
-
C# 9ではスクリプティングをファーストクラスサポートへ
"スクリプティング"言語を定義する特徴のひとつは、ボイラープレートを必要としないことだ。ファイルの最初の行から、通常は関数の中にある宣言やステートメントを記述することができる。更新されたトップレベルステートメントの提案では、この機能がC# 9に計画されている。
-
C#用静的解析ツールRoslynator.Analyzersで500以上の方法によるコード改善が可能に
Roslynator.Analyzersパッケージの新バージョンである2.3.1では、500を越える分析とリファクタリング、修正が可能である。RoslynatorはC#コードの静的分析に、オープンソースのRoslyn.NET Compiler Platformを使用して、コード改善のためのヒントとアクションをIDEに表示する。
-
C#の今後 - パラメータnullバリデーションの簡略化
プロポーザル #2145は一見すると、C# 8のNullable Reference型機能の論理的拡張のように思われる。基本的な考え方は、非nullパラメータを受け入れるメソッドにおいて、引数のnullチェックを明示的に行う必要をなくす、というものだ。しかしながら、これが大きな論争の的になっている。
-
C#のプライマリコンストラクタ
我々は以前、プライマリコンストラクタについて、2014年にそれがC# 6およびVB 12の機能候補リストから削除されたことをお伝えした。昨年末、そのプライマリコンストラクタが再びC# 9の機能候補になったのだ。
-
サーバレス関数におけるステートフルプログラミングモデル - QCon San FranciscoでのChris Gillum氏の講演より
Microsoftのプリンシパルエンジニアリングマネージャである Chris Gillum氏は、QCon San FranciscoでAzure Functionsのサーバレスプログラミングモデルについて講演し、Microsoftのサーバレスコンピューティング実装であるAzure Functionsを使用した2つのステートフルプログラミングモデルである、ワークフローとアクタについて論じた。
-
MicrosoftがC# 8.0をリリース
Microsoftは先週、.NET Core3.0リリースの一部としてC# 8.0を一般公開することを、.NET Conf 2019と同社の開発ブログで同時に発表した。言語機能には新たに、null許容参照型、非同期ストリーム、デフォルトインターフェースメンバ、新しいコードパターンなどが含まれている。これらの新機能はすべて、Visual Studio 2019でサポートされる。
-
C# 8でのnull許容型の拡張
.NET 2で初めて導入されたNullableは、過去10年半にわたってほとんど変更されなかったが��間もなく変更されるようだ。C# 8では、null許容の参照型をサポートする操作の多くが、null許容の値型にも適用できるようになる。
-