如何在C#中检查哪个枚举器为空?

时间:2018-06-07 18:40:12

标签: c# list enumerate

我有两个List<MyObject>.Enumerator的枚举器,我正在使用此代码:

using(List<MyObject>.Enumerator A = someListA.GetEnumerator())
using(List<MyObject>.Enumerator B = someListB.GetEnumerator())
{
    while(A.MoveNext() && B.MoveNext())
    {
        if (!A.Current.Equals(B.Current))
        {
            ...      
        }
    }
}

在我的代码中,一个列表可能在另一个列表之前为空。那么检查哪个枚举器无法再调用.MoveNext()的优雅方法是什么呢?

1 个答案:

答案 0 :(得分:0)

bool stateA;
bool stateB;
while ( (stateA = A.MoveNext()) & (stateB = B.MoveNext()))
{
     if (!A.Current.Equals(B.Current))
     {
                    ...      
     }
}
//A' and B' states are available here