سؤال

ولست بحاجة لايجاد مباراة من عنصر في قائمة IQueryable. لدي قائمة على النحو التالي:

IQueryable<EventItem> eventItems = new Queryable<EventItem>();
EventItem eventItem1 = new EventItem("Event 1");
EventItem eventItem2 = new EventItem("Event 2");
eventItems.Add(eventItem1);
eventItems.Add(eventItem2);

وأريد الآن أن تجد هذا الحدث في القائمة عن طريق تمرير في EventItem مثل eventItem2. كيف يمكنني البحث والعودة البند شيء من هذا القبيل وجدت EventItem = eventItems.Select (eventItem2)؛

وابتهاج،

S

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

المحلول

وينق proviedes طريقة .حيث التي تمكنك من اجتياز في التعبير امدا لتقييم هذا البند كنت تبحث عن.

EventItem found = eventItems.Where(e => e == eventItem2).SingleOrDefault();

وجدت قد تكون باطلة، لذلك تحتاج فقط للتأكد من أن لمعرفة ما إذا تم العثور عليه في queryable / قائمة

نصائح أخرى

واستخدام LINQ يمكنك القيام به:

EventItem found = eventItems.SingleOrDefault(item => item.Name == "Event 2");

وإذا افترضنا أن اسم لEventItem يتعرض عبر خاصية الاسم.

والجزء item => [code] هو المكان الذي يوفر أسلوب بإرجاع صح / خطأ، أن تقرر ما إذا كانت عناصر تطابق أم لا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top