Standard ECMA-334 - C# Language Specification

.NETエンジニアリングチームは3月9日(米国時間)、「New Features in C# 7.0|.NET Blog」において、C# 7.0で導入される新機能を発表した。Visual Studio 2017のリリースに合わせて情報が公開されており、この新しい統合開発環境を使ってC#開発を加速させてほしいという狙いがあるとみられる。

C# 7.0では新しい機能が追加されているほか、データコンサンプションへの注力、コードのシンプル化、パフォーマンスの向上などが実施されている。同チームが取り上げている主な新機能は次のとおり。

  • Out変数の導入(これまでは引数で渡す前に変数を宣言する必要があったが、この機能が追加された後からは引数に指定する段階で変数を定義することが可能)
  • 変数が特定の型を持っているかどうかを判断する時に利用できるパターンの導入。isやswitchなどでパターンを指定した判定が可能になる(使い方としてはOut変数とよく似た見た目になる)
  • タプル型とタプルリテラルの導入
  • タプルを複数の値に分割するデコンストラクタデクラレーションの導入
  • ローカル関数の導入
  • 数値リテラルにおいて区切り文字として_の使用を許可
  • 参照返値の追加
  • 非同期メソッドにおける返値の対象を拡張
  • throwエクスプレッションの利用できる場所を拡張

C#はMicrosoftの推進するプログラム言語の中でも特に中心的な役割を担っているソフトウェア。MicrosoftはC#以外にもVisual BasicやF#などいくつかのプログラミング言語の開発を実施しているが、汎用目的で広く利用できるプログラミング言語としてC#の開発を進めている。