【发布时间】:2015-06-19 05:59:14
【问题描述】:
用 LINQ 处理 2D 数组 的正确方法是什么?
int[,] array =
{
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
bool anyZeroes = array.Any(value => value == 0) // example
在这种情况下,我想检查数组中的任何变量是否与Func、== 0 匹配。我如何使用 Any 来实现这一点,这里的最佳做法是什么?
【问题讨论】:
-
该代码是否可以编译,还是应该表明您的意图?
-
这就是我想要的写法。
-
好的。我很确定它不起作用,因为你得到的矢量样式数组(2D,无论你想怎么称呼它)都没有实现
IEnumerable<T>,这意味着它不可能。 -
是的......它重复的问题解释了。我个人只是完全避免使用
[ , ]类型的数组。我从未见过比List<T[]>或数组数组更合适或更有用的示例。 -
当你有一个固定大小的“网格”时,比如在 2D 棋盘游戏中,你还应该使用什么?
List误导性地暗示可以添加项目,这将导致未定义的行为。