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

如何在二维数组C#中选择两个连续元素?,c#,arrays,multidimensional-array,C#,Arrays,Multidimensional Array,我正在创建一个自动座位分配web应用程序。我可以安排一个人坐一个座位。如何分配两个人并排坐在同一列中 public bool[,] seatTwoPerson(bool[,] seatArray) { for (int row = 0; row <= 29; row++) { for (int col = 0; col <= 5; col++) { if (!seatArray[row, col])

我正在创建一个自动座位分配web应用程序。我可以安排一个人坐一个座位。如何分配两个人并排坐在同一列中

 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;
            }
        }
}
public bool[,]seatTwoPerson(bool[,]seatArray)
{
对于(int row=0;row更改您的内部

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;
        }
  } 

对于(int col=1;col您需要检查两个座椅:

if (!seatArray[row, col] && !seatArray[row+1, col])
如果找到匹配项,则将两者都设置为true:

seatArray[row, col] = true;
seatArray[row+1, col] = true;
此外,您还需要调整for循环,以便
行+1
不会超过末尾:

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

for(int row=0;row)并排坐是什么意思?同一行还是同一列?同一列大卫。很抱歉confusion@MattBurland不,他不是通过引用传递数组。数组是一个引用。它是通过值传递的。别忘了检查边界条件。那就是假设给定的座位是“上面”的座位(因为缺少更好的术语)另一个在它下面,而不是相反。情况是对称的。哪一个在“上面”和哪一个在“下面”并不重要,因为它们被完全相同地对待。