Я пытаюсь упорядочить запрос, используя 2 цикла foreach, используя LINQ.
У меня есть следующий код:
// Create a dictionary of all the pets where the key is building # + owner name + pet's age
Dictionary<string, Pet> petDictionary = new Dictionary<string, Pet>();
foreach (Tenant tenant in allTenants){
foreach (Pet pet in tenant.PetList){
petDictionary.Add(tenant.BuildingNumber + "-" + tenant.Name + "-" + pet.Age, pet);
}
}
foreach (KeyValuePair<string, Pet> petKvp in petDictionary){
Console.WriteLine("Name: {0,20} | secret Id: {1}", petKvp.Value.Name, petKvp.Key);
}
Код работает, но я хотел бы использовать ToDictionary заменить вложенные циклы foreach выше. Кто-нибудь даст мне знать, как это сделать с помощью LINQ?
Я перепробовал несколько вещей, но не могу узнать, как получить информацию из списка арендаторов и списка домашних животных в одном запросе LINQ. .
Класс арендатора:
public class Tenant
{
// Attributes
public string Name{ get; set;}
public int BuildingNumber{ get; set;}
public List<Pet> PetList{get; set;}
}
Класс питомца:
public class Pet
{
// Attributes
public string Name{ get; set;}
public int Age{ get; set;}
}