C# 不使用Linq对数据表行进行分组和求和

C# 不使用Linq对数据表行进行分组和求和,c#,asp.net,datatable,C#,Asp.net,Datatable,我有这样的数据表 Name Price product1 10 product1 12 product2 3 product2 5 product2 7 product3 22 我想对相同命名的产品进行分组,并将价格汇总如下---> 我不该和林克在一起。如何区分名称的不同值并将其相加,如表中所示。您将获得字典,其中键是产品名称,值是所有相同产品价格的总和 var allProducts =

我有这样的数据表

Name           Price
product1        10
product1        12
product2        3
product2        5
product2        7
product3        22
我想对相同命名的产品进行分组,并将价格汇总如下--->


我不该和林克在一起。如何区分名称的不同值并将其相加,如表中所示。

您将获得字典,其中键是产品名称,值是所有相同产品价格的总和

var allProducts = context.Products.Where(.....what products you want to take from     db).ToList();

   Dictionary<String, Int32> dictionary = new Dictionary<String, Int32>();
   foreach(var product in allProducts)
   {
      Int32 value = 0;
      if(!dictionary.TryGetValue(product.Name, out value))
      {
         dictionary.Add(product.Name, product.Price);
         continue;
      }
            value += product.Price;
            dictionary[product.Name] = value;
   }
var allProducts=context.Products.Where(..…您希望从db.ToList()获取哪些产品);
字典=新字典();
foreach(所有产品中的var产品)
{
Int32值=0;
if(!dictionary.TryGetValue(product.Name,out值))
{
字典.添加(产品.名称,产品.价格);
继续;
}
价值+=产品价格;
字典[产品名称]=值;
}

使用字典将来,请在您的问题中包含一些代码(您自己尝试了什么,什么不起作用)。出现此错误=“已添加具有相同密钥的项。”对不起,我的问题。我已经更新了密码。所以你可以使用它,它会工作的。谢谢。这正是我想要的
var allProducts = context.Products.Where(.....what products you want to take from     db).ToList();

   Dictionary<String, Int32> dictionary = new Dictionary<String, Int32>();
   foreach(var product in allProducts)
   {
      Int32 value = 0;
      if(!dictionary.TryGetValue(product.Name, out value))
      {
         dictionary.Add(product.Name, product.Price);
         continue;
      }
            value += product.Price;
            dictionary[product.Name] = value;
   }