[C# 6.0新機能] 簡易関数定義

関数本体のコードが1つの式からなる場合は => を使用して関数を定義することが可能になりました。

従来だと2つの値の足し算をするメソッドは以下のように記述します。

public int addNum(int x, int y)
{
    return x + y;
}

C# 6.0 では以下のように記述することが可能です。

public int addNum(int x, int y) => x + y;

[C# 6.0新機能] 文字列への変数埋め込み

C# 5.0までは文字列内にある値を埋め込みたい場合はstring.Formatメソッドを使用して以下のように記述する必要がありました。

string data = "pen";
string strText = string.Format("This is a {0}.", data);

C# 6.0では、文字列の先頭に$を付け変数を{}で囲んで埋め込むことが可能です。
実行すると、文字列に埋め込んだ変数の部分が実際の値に置き換えられます。

string data = "pen";
string strText = $"This is a {data}.";



[C# 6.0新機能] null条件演算子

C#ではNull許容型を作成するときに?記号を使用しますが、ステートメント中で?を使用すると、その値がNULLだった場合はNULLを返しそうでない場合は後続の処理を行うことができるようになりました。

具体的には以下のようなコードの記述が可能です。
employeeがnullの場合はempCountにはNullが代入され、そうでない場合にはCountプロパティ値がempCountに代入されます。

int? empCount = employee?.Count;

ちなみにC# 5.0以前だと上記を実現するためには、以下のようなコードを記述する必要があります。

int? empCount = null;

if (employee == null)
{
    empCount = null;
}
else
{
    empCount = employee.Count;
}