البحث عن الكائن في IList أو IQueryable
-
20-08-2019 - |
سؤال
ولست بحاجة لايجاد مباراة من عنصر في قائمة 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]
هو المكان الذي يوفر أسلوب بإرجاع صح / خطأ، أن تقرر ما إذا كانت عناصر تطابق أم لا.
لا تنتمي إلى StackOverflow