我有这段代码检查列表的大小是否相等。如果它们的大小相等,并且如果_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);
}
}
由于一些非常奇怪的原因,if
和else
都是在我的代码中触发的,而且我每次都陷入无限循环。
如果在return
条件中满足条件,我试图让.SequenceEqual()
退出循环,但没有用。
First Messagebox:
第二个消息框:
第三个MessageBox: