Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用LINQ从循环中获取单个ID_C#_Linq - Fatal编程技术网

C# 使用LINQ从循环中获取单个ID

C# 使用LINQ从循环中获取单个ID,c#,linq,C#,Linq,我有一种方法,将具有相同productID的项目分组在一起,然后将购物车中的项目数量相加。现在我试图添加到它,它还添加了一个页面的数量,该页面添加到购物车。因此,在对该方法的调用中,我发送了用户选择的productid和数量,以添加到总数量中。但我遇到的问题是比较发送到此方法的项目的ProductID和分组在一起的项目的ProductID 下面是我所做的,注释部分是我试图解决这个问题,但发现我的想法是错误的 double totalQty = 0; bool isQtyValid = true;

我有一种方法,将具有相同productID的项目分组在一起,然后将购物车中的项目数量相加。现在我试图添加到它,它还添加了一个页面的数量,该页面添加到购物车。因此,在对该方法的调用中,我发送了用户选择的productid和数量,以添加到总数量中。但我遇到的问题是比较发送到此方法的项目的ProductID和分组在一起的项目的ProductID

下面是我所做的,注释部分是我试图解决这个问题,但发现我的想法是错误的

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.
}

是的,这正是我需要的答案!谢谢你的帮助,我想我是想得太多了。是的,这正是我需要的答案!谢谢你的帮助,我想我是想得太多了。