C# 使用LINQ从循环中获取单个ID
我有一种方法,将具有相同productID的项目分组在一起,然后将购物车中的项目数量相加。现在我试图添加到它,它还添加了一个页面的数量,该页面添加到购物车。因此,在对该方法的调用中,我发送了用户选择的productid和数量,以添加到总数量中。但我遇到的问题是比较发送到此方法的项目的ProductID和分组在一起的项目的ProductID 下面是我所做的,注释部分是我试图解决这个问题,但发现我的想法是错误的C# 使用LINQ从循环中获取单个ID,c#,linq,C#,Linq,我有一种方法,将具有相同productID的项目分组在一起,然后将购物车中的项目数量相加。现在我试图添加到它,它还添加了一个页面的数量,该页面添加到购物车。因此,在对该方法的调用中,我发送了用户选择的productid和数量,以添加到总数量中。但我遇到的问题是比较发送到此方法的项目的ProductID和分组在一起的项目的ProductID 下面是我所做的,注释部分是我试图解决这个问题,但发现我的想法是错误的 double totalQty = 0; bool isQtyValid = true;
double totalQty = 0;
bool isQtyValid = true;
List<ShoppingCartDTO> shoppingList = ShoppingCart.Fetch(string.Format("WHERE SessionID='{0}'", sessionID));
foreach (ShoppingCartDTO temp in shoppingList)
{
var groupList = shoppingList.GroupBy(item => item.ProductID);
foreach (var m in groupList)
{
//var productID = m.Select(p => p.ProductID);
//int prodID = Convert.ToInt32(productID);
//if (ProductID == prodID)
//{
var sum = m.Sum(i => i.Quantity);
totalQty = sum;
//totalQty += qty;
isQtyValid = CheckQty(totalQty, temp.ProductID, temp.CustomerID);
//}
}
}
double totalQty=0;
bool isQtyValid=true;
List shoppingList=ShoppingCart.Fetch(string.Format(“其中SessionID='{0}',SessionID));
foreach(购物车到购物清单中的临时工)
{
var groupList=shoppingList.GroupBy(item=>item.ProductID);
foreach(组列表中的var m)
{
//var productID=m.Select(p=>p.productID);
//int prodID=Convert.ToInt32(productID);
//if(ProductID==prodID)
//{
var sum=m.sum(i=>i.Quantity);
总数量=总和;
//总数量+=数量;
isQtyValid=检查数量(总数量、临时产品ID、临时客户ID);
//}
}
}
如果有人能提供一些建议或想法,我将不胜感激。如果它可以使用更多的解释,我也可以这样做,或者如果你想看到更多的代码,我正在使用,我也可以添加
感谢所有能够提供帮助的人。您根据产品ID进行分组,因此它是您的组的名称:
foreach (var m in groupList)
{
var productID = m.Key;
// The rest of your code.
}
您已按产品ID进行分组,因此它是您的组的名称:
foreach (var m in groupList)
{
var productID = m.Key;
// The rest of your code.
}
是的,这正是我需要的答案!谢谢你的帮助,我想我是想得太多了。是的,这正是我需要的答案!谢谢你的帮助,我想我是想得太多了。