如果我们有一维数组,我们可以使用以下内容来查看所有元素是否等于3:
int[] t = Enumerable.Repeat(3, 10).ToArray();
if (t.All(item => item.Equals(3))) MessageBox.Show("all elements equals to 3");
但如果我有一个2D数组,我怎么能检查所有元素是否等于3(没有任何for-Loops):
int[,] t2D= new int[,] { { 3, 3 }, { 3, 3 }, { 3, 3 }, { 3, 3 } };
if( CHECK IF ALL ELEMENTS IN **t2D** are equal to 3)
{
MessageBox.Show("all elements equals to 3");
}
我应该在If语句中添加什么?
答案 0 :(得分:3)
2D数组是enumerable type(但它实现了非泛型IEnumerable
)。它的枚举器枚举了2D数组中的所有项目。所以,只需要做的事情 - 将其项目投放到int
(从而检索IEnumerable<int>
)并应用All
t2D.Cast<int>().All(x => x == 3)