没有Linq的分组和汇总DataTable行

时间:2013-02-14 08:29:07

标签: c# asp.net datatable

我有这样的数据表

Name           Price
product1        10
product1        12
product2        3
product2        5
product2        7
product3        22

我想将相同的命名产品分组,并将这样的价格加起来--->

Name           Price
product1        10
product1        12
                22

product2        3
product2        5
product2        7
                15

product3        22
                22

我不应该用linq制作它。我如何区分名称的不同值,并在表格中总结它们。

1 个答案:

答案 0 :(得分:1)

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

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