C#7.2の新機能

C#7.2の有用な機能の数を加算するシングルポイントのバージョンです。 このバージョンの重要な特徴は、より効率的な処理タイプの値が得られ、不必要な複製又は配信を回避することです。

C#7.2を使用し、選択の言語バージョン言語コンパイラのバージョンを選択するために、構成要素を。

01セキュリティの強化と効率的なコード

値型は、参照セマンティクスを処理することができる場合、言語機能を使用して、7.2を導入しました。 これらは、関連資料の種類のメモリの割り当てと使用を引き起こすことなく、複製の種類の値を最小にし、したがって性能を向上することが意図されています。 特長は次のとおりです。

  • 引数のために  in 修飾、参照によって渡されたパラメータを指定されたが、メソッドを呼び出すことによって変更されません。 される  in パラメータに修飾子を追加することで、ソースの変更と互換性が
  • 復帰のための方法  ref readonly 改質剤は、この方法は、参照することによって示す値を返し、そのオブジェクトに書き込まれません。 値を戻り値に指定された場合、次に追加  ref readonly 改質剤であるソース変更と互換。 ウィル  readonly 既存に修正を加える  ref return文で互換性のない変更。 これは、更新するために、発信者を必要と  ref 含まれているために、ローカル変数を宣言  readonly 修飾子を。
  • readonly struct ステートメント、不変の構造を示し、且つとして使用されるべき  in パラメータは、そのメンバ・メソッドに渡されます。 ウィル  readonly 宣言がある既存の構造に修飾子を追加し、バイナリ互換性のある変更
  • ref struct マネージメモリへの構造の直接アクセスのタイプを示す、と文は常にスタックを割り当てる必要があります。 ウィル  ref 既存に修正を加える  struct 宣言で互換性のない変更。 ref struct あなたは、クラスのメンバーであること、またヒープに割り当て可能な他の場所のためにすることはできません。

あなたはできる効率的なコードを書く確保これらの変更のすべてについての詳細を学ぶために。

02非末尾名前付きパラメータ

この方法は、位置パラメータの前に今名前付きパラメータ(これらの名前付きパラメータは位置を補正する場合)を呼び出します。 詳細については、を参照してくださいという名前とオプションのパラメータ

03大手は、テキストの値を強調します

C#7.0実装は、デジタル区切り文字のためにサポートしていますが、最初の文字リテラル値が許可されていません  _。 進テキストとバイナリファイルが今できる  _ で始まります。例えば: 

int型 binaryValue = 0b_0101_0101。
04プライベート保護されたアクセス修飾子

新しい複雑なアクセス修飾子:private protected 命令はクラスのメンバーによってアクセスすることができるか、派生クラスが宣言された同じアセンブリが含まれています。 一方で  protected internal アクセスに対して同じクラスまたは派生クラスによって集中管理手順を可能にしますが  private protected 、同じプログラムに焦点を当てた派生クラス宣言へのアクセスを制限します。

詳細については、言語リファレンスを参照アクセス修飾子を

05 REF発現条件
REF条件式の結果ではなく、値を生成することができます。 たとえば、次の2つのアレイのうちの1つ、参照の最初の要素を取得するには、次の記述します。
REFの VaRの R = REF(!ARR = nullのrefの ARR [ 0 ]:REF otherArr [ 0 ]);

変数が  r ある  arr か、  otherArr 第一の基準値。

詳細については、言語リファレンスを参照(条件演算子を?:)

おすすめ

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