int [,] reslut = {{1,2,4,8},{4,6,5,8},{3,5,8,9},{4,5,6,10},{5,7,8,12},{6,8,11,14}};
int len = reslut.Length/4;
int flag;
flag = 0;
for(int i =0;i<len;i++)
{
for(int j =0;j<4;j++)
{
if(reslut[i,j]%2 == 0)
{
flag++;
}
}
if(flag == 3)
{
for(int j=0;j<4;j++)
{
                      Array.Clear(reslut,i,4);
}
}
}
请帮我看看这段代码是怎么回事?  它只能循环到第一行!超郁闷!!!!!!!!!

解决方案 »

  1.   

    在你循环的时候,flag一直都在真加,你当然只能循环一次了
    int [,] reslut = {{1,2,4,8},{4,6,5,8},{3,5,8,9},{4,5,6,10},{5,7,8,12},{6,8,11,14}};
    int len = reslut.Length/4;
    int flag;
    flag = 0;
    for(int i =0;i<len;i++)
    {
    for(int j =0;j<4;j++)
    {
    if(reslut[i,j]%2 == 0)
    {
    flag++;
    }
    }
    if(flag == 3)
    {
    for(int j=0;j<4;j++)
    {
                          Array.Clear(reslut,i,4);
    }
                                           
    }
                                         flag=0;///////////////////////每循环一此就吧flag设为0就可以了
                                       
    }
      

  2.   

    你的flag在=3后,没有清0,所以以后就不可能再执行Array.Clear(reslut,i,4);