かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

伝搬合体

C# vNextの個人的なNo1は、自動プロパティの初期化+プライマリーコンストラクタなのですが、null伝搬演算子も慣れないとキモくて好きです。

class Person
{
    public string Name { get; set; }
}

----------------------------
var p = new Person();
var result = p
    // 伝搬!
    ?.Name
    // 伝搬!
    ?.ToUpper()
    // 合体! 
    ?? "NULL";
Console.WriteLine(result);

null合体演算子と使うことで、最終的に途中にnullがあったときのデフォルト値まで用意できて至れり尽くせりです。