我试图找出正确的语法以使其工作。这是一个例子。你能更正它/将它翻译成 linq 语法吗?

      From p In products()
      group p by p.Category into g
      select new { Category = g.Key,
                   TotalUnitsInStock = if(g.key="b", g.Avg(p => p.UnitsInStock),
                                          g.Sum(p => p.UnitsInStock))

在此示例中,产品将是一个数据表。谢谢。

最佳答案

尝试以下

  var query = from p In products()
              group p by p.Category into g
              select new { Category = g.Key,
                  TotalUnitsInStock = (g.key=="b") ? g.Avg(p => p.UnitsInStock) :
                                      g.Sum(p => p.UnitsInStock));

关于c# - Linq 有没有办法根据不同的条件应用不同的计算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/937807/

10-13 06:19