C#7.1の新機能

C#7.1、バージョンC#言語(更新されたバージョン)の最初のポイントです。 それは、言語のリリース加速リズムをマーク。 理想的には、より迅速に、各新機能の新機能を導入することができます準備ができています。 C#7.1は、関数の特定の言語バージョンに一致するように、コンパイラの設定を追加します。 だから、言語と、それぞれ、アップグレードツールに関連する意思決定のアップグレード版についての決定を行うことができます。

C#7.1には、追加の言語バージョン選択した構成要素、3つの新しい言語機能と新しいコンパイラの挙動を。

最後に、コンパイラがある  -refout と  -refonly 二つのオプションを制御するために使用することができる生成された基準アセンブリ

最新バージョンは、単一のポイントを機能を使用するには、必要なコンパイラ言語バージョンを設定すると、選択したバージョンを。

この記事の残りの部分は、各機能の概要を説明します。 あなたは、各機能の背後にある原理を理解します。 あなたは、文法を学びます。 あなたは使用することができる  dotnet try 環境で機能をナビゲートグローバルツール:

  1. インストール  DOTNET-試す  グローバルなツールを。
  2. クローニング  DOTNET /トライサンプルの  リポジトリを。
  3. Csharp7サブディレクトリのtry-サンプルリポジトリに、現在のディレクトリ。
  4. 実行します  dotnet try
01非同期mainメソッド
非同期主な  方法は、あなたができるように  Main 使用  await するキーワードを。 過去には、我々は記述する必要があります。
静的 int型のmain()
{ 
    戻りDoAsyncWork()GetAwaiterを()のgetResult()。。。
}

さて、あなたは書くことができます。

静的 非同期タスク< 整数 > のmain()
{ 
// 待機発現を含むDoAsyncWork: 戻り のawait DoAsyncWorkを(); }

プログラムが終了コードを返さない場合は、戻り値の宣言することができ  、タスク  の  Main メソッドを:

静的 非同期タスクのmain()
{ 
    待つSomeAsyncMethodを(); 
}

詳細については、プログラミングガイド読んで非同期メイン  の記事を。

02デフォルトのテキスト式
デフォルトのテキスト式は、式のデフォルト値の拡張機能です。 これらの式の変数はデフォルト値に初期化されます。 過去にはそう書かれます:
FUNC < 文字列ブール値 > whereClause = デフォルト(FUNC < 文字列ブール値 >)。
今、初期化はタイプの右側に省略することができます。
Func < 文字列ブール値 > whereClause = デフォルト ;

詳細にこの拡張を理解するには、C#プログラミングガイドを参照することができ、デフォルトの値式の記事を。

この拡張機能はまた、いくつかの変更されますデフォルトのキーワード  解析ルールを。

03推論タプル要素名
この機能は、C#7.0で導入されたタプル関数に小さな拡張です。 初期化タプルでは、多くの場合、操作の右側に変数名を割り当てるタプル要素で使用したのと同じ名前です。
int型の数= 5 ;
文字列のラベル= マップで使用される色VaRのペア=(カウント:カウント、ラベル:ラベル);

名前タプル要素が使用する変数C#7.1に初期化タプルによって推測することができます。

int型の数= 5 ;
文字列のラベル= マップで使用される色VaRのペア=(カウント、ラベル); // 要素名は「カウント」と「ラベル」です

この機能の詳細については、次のように表示することができタプルの記事を。

モード04ジェネリック型パラメータの一致
C#7.1以降、以来、is 及び  switch 発現パターンの種類型モードジェネリック型パラメータであってもよいです。 これは、検査することができる  struct か、  class 最も有用と梱包の種類を避けたいです。
05の参照は、アセンブリを生成しました
アセンブリを参照のみを生成するには、2つの新しいコンパイラオプションがあります:-refout  と  -refonly  。 リンク先の記事では、これらのオプションの詳細をしてアセンブリを参照します。
 

おすすめ

転載: www.cnblogs.com/SavionZhang/p/11199958.html