かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

伝搬合体

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があったときのデフォルト値まで用意できて至れり尽くせりです。