gpt4 book ai didi

c# - 如何使用 linq 从另一个列表中的列表中获取总和作为属性

转载 作者:行者123 更新时间:2023-11-30 19:08:31 26 4
gpt4 key购买 nike

我的类(class)如下。

public class ModelMMaster
{
public string OrderID { get; set; }
public bool IsActive { get; set; }
public List<ModelDetail> _detail { get; set; }
}
public class ModelDetail
{
public string SKUCode { get; set; }
public int Quantity { get; set; }
public double Price { get; set; }
}

我有一个像这样的订单列表

List<ModelMMaster> _listMaster = new List<ModelMMaster>

我想通过 _listMaster 使用 LINQ 计算 Sum(Quantity * Price)

我卡在这了。

double _sum =_listMaster.Where(f => f.IsActive == true).Select(f => f._detail)......

我如何使用 LINQ 从 _listMaster 计算总和(数量 * 价格)?

最佳答案

你可以通过几种方式实现它

选项 1

double _sum =_listMaster.Where(f => f.IsActive)
.Sum(x=>x._detail.Sum(c=>c.Price * c.Quantity));

选项 2

double _sum =_listMaster.Where(f => f.IsActive)
.Aggregate(0d,(result,item)=>result + item._detail.Sum(x=>x.Price * x.Quantity));

选项 3

double _sum =_listMaster.Where(f => f.IsActive)
.SelectMany(x=>x._detail)
.Sum(x=>x.Price * x.Quantity);

关于c# - 如何使用 linq 从另一个列表中的列表中获取总和作为属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56326778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com