C#のショートサーキット評価でラムダ式の中のnullチェックを行う
C#6.0から導入されている null 条件演算子の新しい書き方が便利です。 null 許容型でデータを取ってくる場合などに、null 参照で落ちることを防ぐことができます。 // サンプルクラス class Product { public decimal? Amount { get; set; } public string Name { get; set; } } // どっかに記述 var products = new List (); products.Add(new Product() { Name = "ほげほげガム", Amount = 98, }); products.Add(new Product() { Name = "ほげほげガム・プレミアム", Amount = 298, }); products.Add(new Product() { Name = "ほげほげガム・サンプル", Amount = null, }); products.Add(null); // これだと null を参照して例外になる // var total = products.Sum(x => x.Amount); // total = 396 var total = products.Sum(x => x?.Amount ?? 0);