使用Linq对锯齿状数组(求和,平均值,其他函数)进行列操作

Kei*_*ith 5 c# linq jagged-arrays

假设我们有一个具有相等长度项数组的锯齿状数组(即忽略超出范围):

int[][] jaggedArray = new int[][] 
{
    new int[] {1, 3, 5},
    new int[] {0, 2, 4},
    new int[] {11,22,6}
};
Run Code Online (Sandbox Code Playgroud)

应用c#Linq执行列操作的最优雅方法是什么.简单列操作的示例结果Sum和Average:

Sum()列结果:int [] {12,27,15} Average()列结果:int [] {4,9,5} ...对列进行操作的任何其他类似扩展方法.

我能找到的最相关的问题就在这里.

感谢您的回答,我已经接受了Jay的答案,并在此处发布了一个类似但更复杂的列集合.

Jay*_*Jay 4

  var results = Enumerable.Range(0, jaggedArray[0].Length)
    .Select(i => jaggedArray.Sum(a => a[i]))
    .ToArray();
Run Code Online (Sandbox Code Playgroud)

替换SumAverage 等。