Farklı türler içeren iki Genel Listeleme sahibim, örneğin, Products
ve Employees
olarak adlandırın. Ben Çalışan aynı yerde dayanır Ürünleri, bulmaya çalışıyorum yani nereye product.SiteId == emp.SiteId
Nesnelerin iki listesinde <T> listelerinde ortak öğeleri bulmanın 'modern' yolu nedir?
List<Product> lstProds;
List<Employees> lstEmps;
Benim (old skool) beyin eşleşmeleri bulmak için bir forEach
döngü kullanmak beni anlatıyor ama orada şüpheli Linq kullanarak yapmak için bir ('daha iyi'/terser/daha hızlı?) yolu. Birisi beni aydınlatabilir mi? Çevrimiçi bulduğum tüm örnekler ilkel listeler (dizeler/in'ler) ile ilgilenir ve özellikle yararlı değildir.
Çok teşekkür ederim Bay Skeet. – 5arx
Çalışmak için sözdizimini biraz değiştirmem gerekiyordu - == kullanarak eşitlik testi, görünüşte doğru değil mi? VS bana 'bağlamsal anahtar kelimesi' eşittir '' beklemesini söylüyor. == ile eşittir, hile yapmak gibi görünüyor, ama bu noktada neden hiçbir fikrim yok? Lütfen detaylandırır mısınız? – 5arx
@ 5arx: Üzgünüm, evet, düzeltildi. Bu, yalnızca sorgu ifadesi sözdiziminin bir parçası - her çiftin kontrol edilmesi için * aslında * tek bir ifade ('product.SiteId == employee.SiteId') sağlamanız değil. Bunun yerine, her bir yüzeye * bir kez * uygulanmış olan iki projeksiyon ('product.SiteId' ve' employee.SiteId') sağladıktan sonra anahtarlar eşitlik açısından karşılaştırılır. –