LINQ中Sum和Aggregate的区别

时间:2012-02-13 20:01:39

标签: c# linq

两个函数之间有什么区别:Sum / Aggregate?

4 个答案:

答案 0 :(得分:9)

Sum操作是Aggregate的特化。 Aggregate操作是一种通过应用将一对值减少为单个值的委托将集合折叠为单个值的方法。 Sum基本上是使用Aggregate函数/运算符

调用+

答案 1 :(得分:9)

您基本上可以将Sum视为一种特定类型的聚合,但还有许多其他类型。

聚合的一些例子可能是将每个值相乘,或者添加字符串而不是数字。

除了Aggregate之外,Sum存在的原因很简单,Sum是更常见的Aggregate函数类型之一,所以为这种情况添加一个额外的函数是值得的。

答案 2 :(得分:4)

Aggregate更加灵活。它可以用于多种类型(例如构建字符串)。 Sum有一个非常特殊的目的(添加数字)。

答案 3 :(得分:0)

  

Linq中的求和方法仅对数值数据类型(int,float等)起作用,其中   聚合方法可以在数值数据类型上以及   字符串数据类型。

<!DOCTYPE html>
<html>

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>

<body>
  <i>Click on more. I want to have two different icons one for more one for less always after click.</i><br>

  <div class="tp-caption rev-btn rev-hiddenicon  rs-hover-ready rev-mre-btn" onclick="showme('widget');" href="javascript:;" id="clicky">MORE <i class="fa fa-car"></i></div>


  <div id="widget" style="display:none;">
    This is a widget
  </div>


</body>

</html>