当试图找出对象列表中的属性是否对所有对象都相等时,我遇到了一个奇怪的异常。
这是我的代码:
bool lvNoGuests = pvBillData.Reservering.Dagen.All(x =>
{
return x.AantalKinderen == pvBillData.Reservering.Dagen[0].AantalKinderen &&
x.AantalVolwassenen == pvBillData.Reservering.Dagen[0].AantalVolwassenen
});
这个想法是使用 .All 来查看列表的所有成员是否具有与列表中的第一个条目相同的两个属性值。
这些属性是简单的 getter(不是自动属性),不会修改任何内容。
当我执行此代码时,我得到一个 InvalidOperationException “集合已修改;枚举操作可能无法执行”。
有人知道为什么吗?
列表不是通用的 .net 列表,而是 XPCollection 类型(DevExpress 的 XPO 框架)。