首页 > 解决方案 > 检查 if 语句中的每个数组成员以查找特定的数组成员

问题描述

我正在尝试创建一个系统,其中我有一个字符串数组,其中每个成员都说同样的事情(“空”),但是当一个按钮时,if 语句/foreach 组合仅将这些“空”中的一个更改为“完整被点击。所以首先我if用类似的东西开始声明

if (inv[0] == "Empty" || inv[1] == "Empty" || inv[2] == "Empty")

等等,直到它覆盖数组的每个成员,确保至少有一个“空”(因为如果实际上有一个“空”,它应该只将“空”更改为“满”)。

在那之后,我想我应该使用 a foreach,但我不知道如何。

无论如何,任何帮助将不胜感激。如果您需要我将代码发送给我,请告诉我。

标签: c#arraysif-statementforeach

解决方案


为什么不直接使用Array.IndexOf来查找 a 的索引,Empty然后将其更改为Full,如下所示:

int indexOfEmpty = Array.IndexOf(inv, "Empty");

//check if inv has a value set to "Empty"
if (indexOfEmpty != -1)
{
    //change the "Empty" we found at indexOfEmpty to "Full"
    inv[indexOfEmpty] = "Full";
}

如果您希望使用循环手动执行此操作,那么您可以像这样使用 for 循环:

bool foundEmpty = false;

for (int i = 0; i < inv.Length; i++)
{
    if (inv[i] == "Empty")
    {
        inv[i] = "Full";
    
        foundEmpty = true;

        break;
    }
}

推荐阅读