2017-04-05 2 views
1

私は月間にわたる加重平均コストを計算するExcelレポートを作成しています。これは100ヶ月以上あり、これらの月の一部には数量がありません。月に数量がない場合は、null例外エラーを避けるために0に設定します。ゼロ除算を避けるためのC#安全ナビゲーション演算子

レポートを生成する際に、数量のない月の除算例外が発生します。セーフナビゲーション(。?)演算子を使用して合計計算で値が0かどうかを確認する方法はありますか?

は、ここで無駄に、私が試したものです:数量がnullの場合

は0メートルにプロパティを設定:

 WeightedQty = (x.Item2/100m) * x.Item1?.qty ?? 0m 

私がゼロ除算エラーを取得する場所和演算を行います。

 WeightedCost = accrual_qtys.Sum(y => y.Quantity * key.wac)/accrual_qtys.Sum(y => y.WeightedQty == 0m ? y.WeightedQty : 1m) 

答えて

1

この

WeightedCost = accrual_qtys.Sum(y => y.Quantity * key.wac)/(accrual_qtys.Any(y => y.WeightedQty > 0m) ? accrual_qtys.Sum(y => y.WeightedQty) : 1m)) 
を試してみてください
関連する問題