如何检查 C# 中哪个枚举器为空?
How to check which enumerator is empty in C#?
我有两个 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()
的优雅方法是什么?
bool stateA;
bool stateB;
while ( (stateA = A.MoveNext()) & (stateB = B.MoveNext()))
{
if (!A.Current.Equals(B.Current))
{
...
}
}
//A' and B' states are available here
我有两个 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()
的优雅方法是什么?
bool stateA;
bool stateB;
while ( (stateA = A.MoveNext()) & (stateB = B.MoveNext()))
{
if (!A.Current.Equals(B.Current))
{
...
}
}
//A' and B' states are available here