C#のショートサーキット評価でラムダ式の中のnullチェックを行う

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); 

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する