Использование синтаксиса расширения. Я пытаюсь создать соединение слева с использованием LINQ в двух списках, которые у меня есть. Ниже приведена справка Microsoft, но я изменил ее, чтобы показать, что список домашних животных не имеет элементов. То, что я получаю, - это список из 0 элементов. Я предполагаю, что это происходит потому, что происходит внутреннее соединение. То, что я хочу закончить, - это список из 3 элементов (объекты 3 человека) с нулевыми данными, заполненными для отсутствующих элементов. т.е. левое соединение. Возможно ли это?
Person magnus = new Person { Name = "Hedlund, Magnus" };
Person terry = new Person { Name = "Adams, Terry" };
Person charlotte = new Person { Name = "Weiss, Charlotte" };
//Pet barley = new Pet { Name = "Barley", Owner = terry };
//Pet boots = new Pet { Name = "Boots", Owner = terry };
//Pet whiskers = new Pet { Name = "Whiskers", Owner = charlotte };
//Pet daisy = new Pet { Name = "Daisy", Owner = magnus };
List<Person> people = new List<Person> { magnus, terry, charlotte };
//List<Pet> pets = new List<Pet> { barley, boots, whiskers, daisy };
List<Pet> pets = new List<Pet>();
// Create a list of Person-Pet pairs where
// each element is an anonymous type that contains a
// Pet name and the name of the Person that owns the Pet.
var query =
people.Join(pets,
person => person,
pet => pet.Owner,
(person, pet) =>
new { OwnerName = person.Name, Pet = pet.Name }).ToList();