gpt4 book ai didi

c# - 通过在列表中循环列表 c# 获取总和

转载 作者:太空狗 更新时间:2023-10-30 01:02:17 29 4
gpt4 key购买 nike

public class GRNMaster
{
public string ID { get; set; }
public string GRNNo { get; set; }
public List<GRNDetails> GRNDetails { get; set; }
}

public class GRNDetails
{
public string GRNID { get; set; }
public string ItemID { get; set; }
public string ItemType { get; set; }
public int RecevedQty { get; set; }
}

上面的classes包含了GRN header class和Detail class的一些属性。 i Grn 可以包含许多项目,因此“List GRNDetails”可以保留它们。

我从将存储在变量 GrnList 中的方法中获取 GRN 列表

public List<GRNMaster> GrnList

我有一个项目 ID 列表

public List<string> ItemIDList

在 Controller 中,我想循环 ItemIDList (List ItemIDList) 并根据列表获取特定项目的总和

int ItemQty = 0;

foreach (var item in ItemIDList)
{
ItemQty = 0;

var ItemQty = //some code using GrnList

// rest of the programming code based on the
// item qty
}

最佳答案

使用 LINQ

var totalQty = 0;
foreach (var item in ItemIDList)
{
var sumOfCurrentItem = GrnList.SelectMany(s => s.GRNDetails
.Where(f => f.ItemID == item)).Select(f => f.RecevedQty).Sum();

totalQty += sumOfCurrentItem ;
}

甚至是 foreach 循环的单行替换(致谢 ReSharper :))

int totalQty = ItemIDList.Sum(item => GrnList
.SelectMany(s => s.GRNDetails.Where(f => f.ItemID == item))
.Select(f => f.RecevedQty).Sum());

关于c# - 通过在列表中循环列表 c# 获取总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34553555/

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