求和整数数组

Lin*_*ung 0 .net c# linq arrays

我有以下代码

int[] array = new int[10] { 4, 50 , 60 , 80 , 120 , 46 , 52 , 60 , 18 , 221};


var sum = (from num in array
           where ((num % 4) != 0 && (num % 6 ) != 0) && ((num % 2) != 0)
           select array);

Console.Write(sum.Sum());
Run Code Online (Sandbox Code Playgroud)

问题是我无法使用Sum().它说

'System.Collections.Generic.IEnumerable'不包含'Sum'的定义和最佳扩展方法重载'System.Linq.Queryable.Sum(System.Linq.IQueryable)'

我怎么能这样做?

Sal*_*ari 7

从这个改变你的代码:

var sum = (from num in array
    where ((num % 4) != 0 && (num % 6 ) != 0) && ((num % 2) != 0)
    select array);
Run Code Online (Sandbox Code Playgroud)

对此:

 var sum = (from num in array
            where ((num % 4) != 0 && (num % 6) != 0) && ((num % 2) != 0)
            select num);
Run Code Online (Sandbox Code Playgroud)

你需要select num代替select array.阅读更多https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.select?view=netframework-4.7.2