Как проверить, какой перечислитель пуст в C #? - PullRequest
0 голосов
/ 07 июня 2018

У меня есть два перечислителя 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 голосов
/ 09 июня 2018
bool stateA;
bool stateB;
while ( (stateA = A.MoveNext()) & (stateB = B.MoveNext()))
{
     if (!A.Current.Equals(B.Current))
     {
                    ...      
     }
}
//A' and B' states are available here
...