Dalam C# linq ke objek, sangat mudah untuk menggunakan klausa "Join-on-Equals-Into" untuk melaksanakan sambungan luaran kiri. Walau bagaimanapun, dalam beberapa kes, menggunakan klausa WHERE mungkin lebih wajar.
Untuk sambungan dalaman, terdapat penyelesaian yang mudah:
Walau bagaimanapun, untuk sambungan luaran kiri, masalahnya ialah bilangan bilangan operasi sebelah kanan tidak dijumpai apabila item yang sepadan tidak dapat dijumpai. Pertimbangkan percubaan berikut:
List<joinpair> innerFinal = (from l in lefts from r in rights where l.Key == r.Key select new JoinPair { LeftId = l.Id, RightId = r.Id});
List<joinpair> leftFinal = (from l in lefts from r in rights select new JoinPair { LeftId = l.Id, RightId = ((l.Key==r.Key) ? r.Id : 0 });
Output Revied ini mengekalkan imej asal dan mengelakkan penulisan semula yang ketara sambil menjelaskan penjelasan semula
Atas ialah kandungan terperinci Bagaimana untuk melakukan gabungan luar kiri di Linq tanpa menggunakan klausa `Join-on-Equal-Into`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!