如何在linq中对数组中的所有短元素求和

时间:2013-02-12 11:38:07

标签: c# linq

拿阵:

var array = new short[]{4,4,5,6}

我想构建一个linq表达式,它将所有这4个数组值相加,以便结果为19.这样我就可以进行以下比较:

string a = "only5chars"
if(a.length < // the total array values length ...

5 个答案:

答案 0 :(得分:5)

这很简单:

 var array = new int[] {4, 4, 5, 6};
 var sum = array.Sum();

修改(根据问题更新short):

 var array = new short[] {4, 4, 5, 6};
 var sum = array.Select(x=> (int)x).Sum();

尝试HERE

答案 1 :(得分:2)

  

我想构建一个linq表达式,它将所有这4个数组值相加   结果是19。

修改

由于问题现在已经改变,现在它指向一个短类型数组:

var array = new short[] { 4, 4, 5, 6 };
int sum = array.Select(r => (int)r).Sum();

答案 2 :(得分:0)

var array = new int[]{4,4,5,6};
var sum = array.Sum();

答案 3 :(得分:0)

真实答案

var array = new int[]{4,4,5,6};
array.Sum();

我希望堆栈能让我发布“让我为你做googlge”链接。

讽刺答案

  1. 转到www.google.co.uk
  2. 搜索 - “汇总数组C#”

答案 4 :(得分:0)

尝试使用Enumerable.Sum()方法:

  

计算一系列数值的总和。

像;

public static void Main(string[] args)
{
      var array = new int[] {4, 4, 5, 6};
      int total = array.Sum();
      Console.WriteLine(total);
}

这是DEMO