c# - 如何迭代 2 arrays 的每个元素?

我有 2 个 arrays 公社和 arrListStr。

我正在使用 if else 来比较数组元素 communes 与数组 arrListStr,但我希望 communes 数组必须遍历数组 arrListStr 中的所有元素,如果最后一个位置没有重复则异常。

我很困惑,不知道该怎么办?感谢有人帮助我!

这是代码:

/// communes list
               /// arrListStr list
               for (int a = 0; a < communes.Count; a++)
                {
                    for (int b = 0; b < arrListStr.Length; b++)
                    {
                        if (communes[a].Name == arrListStr[b])
                        {
                            count++;
                            rtbResult.AppendText("\n" + " Successfully - " + count);
                        }
                        else
                        {
                            count++;
                            rtbResult.AppendText("\n" + " Fail - " + count);
                        }
                    } 
                 }

回答1

一个简单的解决方案是添加一个布尔值来跟踪是否找到该项目:

for (int a = 0; a < communes.Count; a++)
{

    bool isFound = false; // track if this item was found

    for (int b = 0; b < arrListStr.Length; b++)
    {
        if (communes[a].Name == arrListStr[b])
        {

            isFound = true; // mark as found

            count++;
            rtbResult.AppendText("\n" + " Successfully - " + count);
        }
        else
        {
            count++;
            rtbResult.AppendText("\n" + " Fail - " + count);
        }
    }


    // do something when not found
    if (!isFound)
    {
        throw new Exception("not found");
    }
 }

相似文章