int[,] maps = new int[10, 10]{{0,0,0,0,0,0,0,0,0,0},{0,0,0,1,1,1,0,0,0,0},{0,0,0,1,3,1,0,0,0,0},
            {0,0,0,1,2,1,1,1,1,0},{0,1,1,1,5,2,5,3,1,0},{0,1,3,2,5,6,1,1,1,0},
            {0,1,1,1,1,5,1,0,0,0},{0,0,0,0,1,3,1,0,0,0},{0,0,0,0,1,1,1,0,0,0},
            {0,0,0,0,0,0,0,0,0,0}};
创建数组的时候赋予了这些值,我想到最后判断数组是否成为一些新的值,例如是否里面的5全部变为了4,变为4后就messagebox.show();请问if() 括号中的内容怎么写

解决方案 »

  1.   

                if (maps.OfType<int>().Count(t => t == 5) == 0)
      

  2.   

    if(!maps.Cast<int>().Any(t => t == 5))
      MessageBox.Show("5全部变成4了");
      

  3.   

    如果5只能换成4,那么1和2楼代码都可以如果5还能换其他数字,那么你在推箱子之前先用变量记录所有5的个数,然后再判断4的个数是否等于这个变量
    private int num5;num= maps.Cast<int>().Count(t => t == 5);....判断时if(maps.Cast<int>().Count(t => t == 4)==num5)
         MessageBox.Show("5全部变成4了");