क्या दो सूचीओं के लिए Except()
का उपयोग करना संभव है जिसमें दो अलग-अलग वर्ग हैं लेकिन एक सामान्य क्षेत्र है? मेरे पास List<User1>
और List<User2>
संग्रह हैं। आईडी कॉलम को छोड़कर उनके पास अलग-अलग गुण हैं और मैं इस आईडी कॉलम का उपयोग करके उनके बीच अलग-अलग रिकॉर्ड ढूंढना चाहता हूं। मैं List<>.Except()
उपयोग करने के लिए कोशिश कर रहा हूँ, लेकिन मैं इस त्रुटि हो रही है:IEnumerable.Except() एक सामान्य फ़ील्ड के साथ विभिन्न वर्गों के बीच
The type arguments for method 'System.Linq.Enumerable.Except(System.Collections.Generic.IEnumerable, System.Collections.Generic.IEnumerable)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
यहाँ मैं क्या कोशिश कर रहा हूँ है:
List<User1> list1 = List1();
List<User2> list2 = List2();
var listdiff = list1.Except(list2.Select(row => row.Id));
क्या मैं गलत कर रहा हूँ?
+1 उपयोग कर रहा हूँ अगर आप '' बजाय list1' की list2' पर देखने बनाना भूल गया की कोशिश करो। या लुकअप के बिना 'var listdiff = list1.Where (user =>! (List2.Any (user2 => user2.Id == user.Id)); ' –
Yup ने देखा कि कुछ मिनट पहले गलती –
+1: अच्छी चीजें भी काफी कुशल होंगी। – Ani