c# - Check if a value is in a collection with LINQ -


मेरे पास एक वर्ग "कर्मचारी" है, इसमें "TypeOfWork" का एक IList & gt;

  सार्वजनिक वर्ग कर्मचारी {सार्वजनिक वर्चुअल आइएलआईटी & lt; टाइपऑफ़वर्कर & gt; TypeOfWorks {प्राप्त करें; सेट; }} सार्वजनिक वर्ग TypeOfWork {सार्वजनिक आभासी ग्राहक ग्राहक {get; सेट; } सार्वजनिक वर्चुअल Guid Id {get; सेट; } सार्वजनिक वर्चुअल स्ट्रिंग Name {get; सेट; } सार्वजनिक वर्चुअल बूल आईएक्टिव {प्राप्त; सेट; }}  

सहेजने से पहले, मैं यह जानना चाहता हूं कि "टाइपफ्यूड" (एक गिड) पहले से ही "टाइपऑफ़वर्क्स" संग्रह में है।

मैंने यह कोशिश की:

  var res = कर्मचारी में टाइप करें। टाइप ऑफ़वर्क्स जहां p.Id == नया Guid ("11111111-1111-1111-1111-111111111111") चुनें p;  

और इसे करने की कोशिश की:

  bool res = employee.TypeOfWorks.Where (f = & gt; f.Id == नया Guid ("11111111-1111 -1111-1111-111111111111 "))। गणना ()! = 0;  

दृश्य स्टूडियो के "तत्काल विंडो" में लेकिन मुझे त्रुटि मिली: अभिव्यक्ति में दोनों प्रश्नों में क्वेरी अभिव्यक्ति नहीं हो सकती

क्या आप एक विचार है?

धन्यवाद,

बस क्या त्रुटि कहते हैं? आप तत्काल विंडो में LINQ क्वेरीज़ का उपयोग नहीं कर सकते क्योंकि उन्हें लैम्ब्डा फ़ंक्शंस के संकलन की आवश्यकता होती है। अपने वास्तविक कोड में पहली पंक्ति को आज़माएं, जहां इसे संकलित किया जा सकता है। :)

इसके अलावा, यह सब एक ही पंक्ति में किया जाता है, तो आप LINQ "Any" ऑपरेटर का उपयोग कर सकते हैं, जैसे:

  if (! Employee.TypeOfWorks कोई भी (tow = & gt; tow.Id == theNewGUID)) // टाईपऑफ़वर्क के लिए लॉजिक को बचाता है न्यूडाउन  

Comments

Popular posts from this blog

c# - ListView onScroll event -

PHP - get image from byte array -

Linux Terminal Problem with Non-Canonical Terminal I/O app -