Mam dwie ogólne listy zawierające różne typy, dla przykładu, możemy je nazwać Products
i Employees
. Próbuję znaleźć produkty, które są oparte na tym samym miejscu, co pracownicy, czyli gdzie product.SiteId == emp.SiteId
Co to jest "nowoczesny" sposób na znalezienie wspólnych przedmiotów w dwóch listach obiektów: <T>?
List<Product> lstProds;
List<Employees> lstEmps;
My (old skool) mózg mówi mi użyć forEach
pętlę znaleźć mecze, ale podejrzewam, że nie jest a ("lepiej"/terser/szybciej?) sposób zrobić to za pomocą Linq. Czy ktoś może mnie oświecić? Wszystkie przykłady, które znalazłem w Internecie, zawierają Listy prymitywów (ciągi/znaki) i nie są szczególnie pomocne.
Dziękuję bardzo Panu Skeet. – 5arx
Musiałem zmodyfikować nieco składnię, aby działało - użycie == do sprawdzenia, czy równość jest, oczywiście, nie jest poprawna? VS mówi mi, że "oczekiwane słowo kluczowe" jest równe ". Zastąpienie znaku == równaniami wydaje się być pomocne, ale w tym momencie nie mam pojęcia, dlaczego? Czy mógłbyś rozwinąć proszę ...? – 5arx
@ 5arx: Przepraszam, tak, naprawione. To tylko część składni wyrażeń zapytania - nie jesteś * właściwie * dostarczając pojedyncze wyrażenie ('product.SiteId == employee.SiteId'), aby sprawdzić każdą parę. Zamiast tego podajesz dwie prognozy ('product.SiteId' i' employee.SiteId'), które są stosowane do każdego elementu każdej strony * raz *, a następnie porównywane są klucze dla równości. –