首页 > 解决方案 > 如何检查布尔数组中的特定索引是否为真是C#

问题描述

我必须创建一个简单的窗体应用程序,将客户分配到头等舱 1-5 或经济舱 6-10 的座位。我必须使用一维布尔数组。我不知道如何检查特定索引是否已设为True。如果数组为真,它要么继续前进,要么创建一个消息框。我只需要有关如何检查其是否真实的帮助。

for (int i = 5; i < 9; i++)<br>
{
   assignedSeat[i] = true;
   if (assignedSeat[9] == true)
   {
       MessageBox.Show("You chose Economy Class", "Economy Class", 
                       MessageBoxButtons.OK);
   }
   else
   {
       DialogResult g = MessageBox.Show("Unfortunately, Economy class is full. Next flight in 3 hours",  
              "Oh No", MessageBoxButtons.OKCancel);
       if (g == DialogResult.OK)
       {
            TxtClassChoice.Clear();
       }
       else
       {
            Close();
       }
   }
}

标签: c#arraysbooleanboolean-expression

解决方案


我认为这里的混乱是for循环。

for (int i = 5; i < 9; i++)

9 - 5 = 4。

你在这里只检查 4 个座位。座位 6 至 9。

if (assignedSeat[9] == true)永远是假的。那是因为i < 9条件。

知道这一点,这条线assignedSeat[i] = true;永远不会运行assignedSeat[9] = true;

布尔值的默认值为 false。

如果要检查座位 6 到 10,请更改i < 9i < 10

for (int i = 5; i < 10; i++)

我不知道如何检查特定索引是否已设为 True。

if (assignedSeat[9] == true)很好。它可以缩短为,if (assignedSeat[9])但这只是偏好。


推荐阅读