سؤال

حصلت على استثناء غريب عند محاولة معرفة ما إذا كان لديك خاصية في قائمة الكائنات متساوية لجميع الكائنات.

هذا هو رمزي:

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

هذه الفكرة هي استخدام. جميع لمعرفة ما إذا كانت جميع أعضاء القائمة لديهم نفس قيمة الخصائصين كإدخال أول في القائمة.

الخصائص هي بسيطة betters (وليس الممتلكات التلقائية) ولا تعدل أي شيء.

عندما أقوم بتنفيذ هذا الرمز، أحصل على مجموعة InvalidoperationException "تم تعديل عملية التعداد". قد لا تنفذ عملية التعداد ".

أي شخص لديه فكرة لماذا؟

القوائم ليست قائمة قوائم .NET ولكن هي من النوع XPCollection (إطار XPO Devexpress).

هل كانت مفيدة؟

المحلول

يكون كل شيء getter بسيطة؟ حتى في Dagenب لا يمكنني إلا أن أفترض أن Something Something غير تقليدي يحدث (ربما مع إنشاء نوع ديناميكي وتجاوز صامتين أنك لا تراه في كودك - هل الأعضاء 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