如何在二维数组C#中选择两个连续元素?
我正在创建一个自动座位分配web应用程序。我可以安排一个人坐一个座位。如何分配两个人并排坐在同一列中如何在二维数组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])
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不,他不是通过引用传递数组。数组是一个引用。它是通过值传递的。别忘了检查边界条件。那就是假设给定的座位是“上面”的座位(因为缺少更好的术语)另一个在它下面,而不是相反。情况是对称的。哪一个在“上面”和哪一个在“下面”并不重要,因为它们被完全相同地对待。