如何在二维数组C#中选择两个连续元素?

时间:2015-03-12 19:03:22

标签: c# arrays multidimensional-array

我正在创建一个自动座位分配网络应用程序。我可以将一个人分配到座位上。如何指派两个人并排坐在同一列?

 public bool[,] seatTwoPerson(bool[,] seatArray)
{
    for (int row = 0; row <= 29; row++)
    {
        for (int col = 0; col <= 5; col++)
        {
            if (!seatArray[row, col])
            {
                seatArray[row, col] = true;
                return seatArray;
            }
        }
}

2 个答案:

答案 0 :(得分:0)

改变你的内心

for (int col = 1; col <= 5; col++)
    {
        if (!seatArray[row, col] && !seatArray[row, col-1])
        {
            seatArray[row, col] = true;
            seatArray[row, col-1] =true;
            return seatArray;
        }
  } 

答案 1 :(得分:0)

您需要检查两个席位:

if (!seatArray[row, col] && !seatArray[row+1, col])

如果找到匹配项,则将两者都设置为true:

seatArray[row, col] = true;
seatArray[row+1, col] = true;

此外,您需要调整for循环,以便row+1不会超过结尾:

for (int row = 0; row <= seatArray.GetUpperBound(0) - 1; row++)