同じ型、同じ名前のプロパティを同じ順序で並べた匿名型は同じであることが保証されている。即ち、以下のコード:
配列宣言の型省略.
// 上の文は次のように解釈される:
// 以下の文:
// は次のように解釈されることなく、誤りとなる:
クエリ式.
上のコードは以下のように変換される:
dynamicキーワード.
dynamicキーワードが導入され、動的型付け変数を定義できるようになった。dynamic型として宣言されたオブジェクトに対する操作のバインドは実行時まで遅延される。
オプション引数・名前付き引数.
// 引数が指定されなかった場合のデフォルト値を等号で結ぶ:
// ↑ソースコードの上部で宣言
例外フィルタ.
try {
出力変数宣言.
パターンマッチング.
is 式の拡張.
 // if文の条件セクションは、ifの外側と同じスコープ
 break;
 break;
 break;
 break;
 case string str:
 break;
 break;
 default:
 break;
タプル.
タプル記法.
引数リストと同様の形式で、タプルを記述できる。
// タプル記法
分解.
多値戻り値を簡単に扱えるように、分解がサポートされた。
// 分解
 year = dateTime.Year;
 day = dateTime.Day;
// 分解
値の破棄.
破棄された値は、後で参照することはできない。
// 年と日は使わない
// 解析結果だけ取得し、変換された値は使わない
 // string型で分岐するが、値は使わない
 case string _:
 // Do something.
 break;
// 二つの参照引数の内、値の大きいものの参照戻り値を返す
// 参照戻り値を参照変数で受け取る
非同期なMainメソッド.
default式.
int number = default;
string name = default;
値型の参照セマンティクス.
値型におけるパフォーマンス向上を意図した複数の機能が追加された。
これにより、構造体のコピーを避けると共に、意図しない値の変更を抑止できる。
readonly構造体.
これにより、メンバーアクセス時の意図しない防御的コピーを抑止できる。
末尾以外の場所での名前付き引数.