【问题标题】:How to calculate sum() column from dynamic list?如何从动态列表中计算 sum() 列?
【发布时间】:2017-10-10 07:10:09
【问题描述】:

我有一个下面给出的动态列表;

var CashReceiptDailyCollectionDetails = new List<dynamic>();

在上面的列表中有 TotalAmount 列;如何使用动态列表中的 linq 查询计算 TotalAmount 的总和。我像下面的查询一样尝试过;但它给出了对象引用错误。

CashReceiptDailyCollectionDetails.Sum(x => Convert.ToDecimal(x.TotalAmount))

【问题讨论】:

  • 如果列表包含任何空引用,就会发生这种情况。如果没有minimal reproducible example,我们真的不能说更多。
  • 也许作为一个快速测试,试试CashReceiptDailyCollectionDetails.Sum(x =&gt; Convert.ToDecimal( (x ? x.TotalAmount : 0) ))

标签: linq c#-4.0 dynamic


【解决方案1】:
decimal holdingNum = -1;
            var decimalsSums = CashReceiptDailyCollectionDetails.
                Select(o => o != null ?( string.IsNullOrEmpty(o.ToString()) == false?
            (decimal.TryParse(o.ToString(), out holdingNum) == true ?
            holdingNum : 0) : 0):0).Sum();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-28
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    相关资源
    最近更新 更多