【发布时间】:2016-11-22 13:48:05
【问题描述】:
我遇到了一个问题,我不确定我是否遗漏了什么,或者它在 C# 中是否真的很笨重。
我有一个二维数组 (Foo[,]),我想做的是将它映射到 Bar[,],只使用 Func<Foo, Bar>。基本上,我想要的是任何给定T 的T[,] 函子实例。
“显而易见”的方法当然是简单地从头开始构建一个新数组,迭代每一列的行和列,然后手动将函数应用于每个单元格。不过,我真的很想为此使用 LINQ,因为没有任何理由这应该比
from cell in matrix
select f(cell)
或等效的matrix.Select(f)。
我不禁想到我不能成为第一个想要这样做的人,所以我想知道是否有类似的内置功能,或者我最好的选择是简单地为 2D 编写我自己的 LINQ 扩展数组?
【问题讨论】: