Вопрос

Я получил странное исключение при попытке выяснить, равно ли свойство в списке объектов равным для всех объектов.

Это мой код:

bool lvNoGuests = pvBillData.Reservering.Dagen.All(x =>
{
    return x.AantalKinderen == pvBillData.Reservering.Dagen[0].AantalKinderen &&
           x.AantalVolwassenen == pvBillData.Reservering.Dagen[0].AantalVolwassenen
});

Идея состоит в том, чтобы использовать.

Свойства - это простые добычи (не авто свойства) и ничего не изменяют.

Когда я выполняю этот код, я получаю сборник InvalidoperationException «была изменена; операция перечисления может не выполнять».

Кто -нибудь понял, почему?

Списки не являются списками Genericht .net, но имеют тип XPCollection (xpo framework devexpress).

Это было полезно?

Решение

Является все простой получение? Даже Dagen? Я могу только предположить, что происходит когда -то Фанки (возможно, с созданием динамического типа и безмолвными переопределениями, которые вы не видите в коде - являются участниками virtual?). Однако исправить Я бы попробовал схватить подробности в переменные:

var first = pvBillData.Reservering.Dagen.First();
var kinderen = first.AantalKinderen;
var volwassenen = first.AantalVolwassenen;
bool lvNoGuests = pvBillData.Reservering.Dagen.All(
    x => x.AantalKinderen == kinderen && x.AantalVolwassenen == volwassenen);

Другие советы

Попробуй это:

var eersteDag = pvBillData.Reservering.Dagen[0];
var verwachtAantalKinderen = eersteDag.AantalKinderen;
var verwachtAantalVolwassenen = eersteDag.AantalVolwassenen;

bool lvNoGuests = pvBillData.Reservering.Dagen.All(x =>
{
    return x.AantalKinderen == verwachtAantalKinderen &&
           x.AantalVolwassenen == verwachtAantalVolwassenen
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top