C#7.2の有用な機能の数を加算するシングルポイントのバージョンです。 このバージョンの重要な特徴は、より効率的な処理タイプの値が得られ、不必要な複製又は配信を回避することです。
C#7.2を使用し、選択の言語バージョン言語コンパイラのバージョンを選択するために、構成要素を。
値型は、参照セマンティクスを処理することができる場合、言語機能を使用して、7.2を導入しました。 これらは、関連資料の種類のメモリの割り当てと使用を引き起こすことなく、複製の種類の値を最小にし、したがって性能を向上することが意図されています。 特長は次のとおりです。
- 引数のために
in
修飾、参照によって渡されたパラメータを指定されたが、メソッドを呼び出すことによって変更されません。 されるin
パラメータに修飾子を追加することで、ソースの変更と互換性が。 - 復帰のための方法
ref readonly
改質剤は、この方法は、参照することによって示す値を返し、そのオブジェクトに書き込まれません。 値を戻り値に指定された場合、次に追加ref readonly
改質剤であるソース変更と互換。 ウィルreadonly
既存に修正を加えるref
return文で互換性のない変更。 これは、更新するために、発信者を必要とref
含まれているために、ローカル変数を宣言readonly
修飾子を。 readonly struct
ステートメント、不変の構造を示し、且つとして使用されるべきin
パラメータは、そのメンバ・メソッドに渡されます。 ウィルreadonly
宣言がある既存の構造に修飾子を追加し、バイナリ互換性のある変更。ref struct
マネージメモリへの構造の直接アクセスのタイプを示す、と文は常にスタックを割り当てる必要があります。 ウィルref
既存に修正を加えるstruct
宣言で互換性のない変更。ref struct
あなたは、クラスのメンバーであること、またヒープに割り当て可能な他の場所のためにすることはできません。
あなたはできる効率的なコードを書く確保これらの変更のすべてについての詳細を学ぶために。
この方法は、位置パラメータの前に今名前付きパラメータ(これらの名前付きパラメータは位置を補正する場合)を呼び出します。 詳細については、を参照してくださいという名前とオプションのパラメータ。
C#7.0実装は、デジタル区切り文字のためにサポートしていますが、最初の文字リテラル値が許可されていません _
。 進テキストとバイナリファイルが今できる _
で始まります。例えば:
int型 binaryValue = 0b_0101_0101。
新しい複雑なアクセス修飾子:private protected
命令はクラスのメンバーによってアクセスすることができるか、派生クラスが宣言された同じアセンブリが含まれています。 一方で protected internal
アクセスに対して同じクラスまたは派生クラスによって集中管理手順を可能にしますが private protected
、同じプログラムに焦点を当てた派生クラス宣言へのアクセスを制限します。
詳細については、言語リファレンスを参照アクセス修飾子を。
REFの VaRの R = REF(!ARR = nullの?refの ARR [ 0 ]:REF otherArr [ 0 ]);
変数が r
ある arr
か、 otherArr
第一の基準値。
詳細については、言語リファレンスを参照(条件演算子を?:)。