【发布时间】:2014-06-25 21:09:26
【问题描述】:
假设我们有一个具有相等长度项数组的锯齿状数组(即忽略超出范围的捕获):
int[][] jaggedArray = new int[][]
{
new int[] {1, 3, 5},
new int[] {0, 2, 4},
new int[] {11,22,6}
};
应用 c# Linq 执行列操作的最优雅的方式是什么。简单列操作 Sum 和 Average 的示例结果:
Sum() 列结果:int[] {12, 27, 15 } Average() 列结果:int[] {4, 9, 5 } ...对列进行操作的任何其他类似扩展方法。
我能找到的最接近的相关问题是here。
感谢您的回答,我已接受 Jay 的回答,并在 Enumerable 问题 here 上发布了类似但更复杂的列聚合。
【问题讨论】:
-
你试过什么?以及为什么需要使用 LINQ,即其他“优雅”的解决方案是否无效?
-
感谢您的评论。是的,当然,其他选项是有效的/直接的(我目前在您的典型循环中也这样做)-但我对任何与代表一起使用的优雅 linq 解决方案感兴趣-我的尝试看起来像我喜欢的问题-即相当混乱。
-
LINQ 比使用两个 for 循环完成这项工作要慢得多。在性能问题的情况下,不要使用 LINQ。
标签: c# linq jagged-arrays