日期:2014-05-17  浏览次数:21016 次

如何用Linq来实现一个数组的条件求和?
要求一个数组下标为偶数的元素总和,一般方法如下:
        

static int Acc(int[] arrInt)
        {
            int ret = 0;
            for (int i = 0; i < arrInt.Length; ++i)
            {
                if(i%2==0)
                    ret += arrInt[i];
            }
        }

还是感觉代码有点多了。用Linq如何能简单的用一句话实现呢?
谢谢。

------解决方案--------------------
return arr.Where(i => i%2 == 0).Sum();
------解决方案--------------------
where条件筛选时,可以带索引参数的where((v,index)=>xxxx
------解决方案--------------------
把 i 改为(两个函数参数的形式) index。
------解决方案--------------------
引用:
Quote: 引用:

where条件筛选时,可以带索引参数的where((v,index)=>xxxx


那我的代码应该怎么写呢? 能给个完整的句子吗? 谢谢。


int sum= arrInt.Where((num,index) =>(index %2 == 0)).Sum();