确定列表相等性的if-else语句中的无限循环

时间:2014-02-27 17:36:25

标签: c#

我有这段代码检查列表的大小是否相等。如果它们的大小相等,并且如果_cachedSecondList的所有元素都等于secondList,那么它什么都不做(尽管我在这个特定的例子中有一些调试文本)。

否则,如果count相等,但每个列表中的项目不同,则会触发刷新画布的Menu_HandleOutOfBounds()

if (_cachedSecondList.Count == secondList.Count)
{
    if (_cachedSecondList.SequenceEqual(secondList))
    {
        string s = String.Join(",", _cachedSecondList);
        string b = String.Join(",", secondList);
        MessageBox.Show("Second: " + s);
        MessageBox.Show("Second: " + b);
        return;
    }
    else
    {
        Menu_HandleOutOfBounds(_sender, _e);
        MessageBox.Show("Triggered Equality Check. New Index: " + _index);
    }
}

由于一些非常奇怪的原因,ifelse都是在我的代码中触发的,而且我每次都陷入无限循环。

如果在return条件中满足条件,我试图让.SequenceEqual()退出循环,但没有用。

First Messagebox:

enter image description here

第二个消息框:

enter image description here

第三个MessageBox:

enter image description here

0 个答案:

没有答案