class Courses { public List<Nourriture> Nourritures { get; set; } = new List<Nourriture> { new Nourriture()}; } class Nourriture { public List<Legume> Legumes { get; set; } = new List<Legume> { new Legume { Nom = "Tomate", Quantite = 1 }, new Legume { Nom = "Tomate Grappe", Quantite = 2 }, new Legume { Nom = "Patate", Quantite = 3 } }; } class Legume { public string Nom { get; set; } public int Quantite { get; set; } public override string ToString() { return Nom; } }
Courses courses = new Courses(); //On cherches les tomates List<Legume> lesTomates = (from n in courses.Nourritures //on itère tous les éléments de la collection Nourritures dans la variable n, un peu comme un foreach from l in n.Legumes //idem pour la collection Légumes where l.Nom.Contains("Tomate") //on pose la condition select l //on selection les instances qui répondent à la condition )//ici on a un IEnumerable<Legumes> .ToList();//on caste l'IEnumerable en liste //On cherche la Tomate Legume tomate = (from n in courses.Nourritures from l in n.Legumes where l.Nom == "Tomate" select l ).First(); //On cherche le nombre de patates, et on sait qu'il n'y a qu'une instance de patate int nombrePatates = (from n in courses.Nourritures from l in n.Legumes select l ).Single(l => l.Nom == "Patate").Quantite; //On cherche l'endive Legume endive = (from n in courses.Nourritures from l in n.Legumes where l.Nom == "Tomate" select l ).FirstOrDefault();//retourne null s'il n'y a pas d'occurence if (endive == null) MessageBox.Show("Y a pas d'endives!")
class Courses { public List<Nourriture> Nourritures { get; set; } = new List<Nourriture> { new Nourriture()}; class Nourriture { public List<Legume> Legumes { get; set; } = new List<Legume> { new Legume { Nom = "Tomate", Quantite = 1 }, new Legume { Nom = "Tomate Grappe", Quantite = 2 }, new Legume { Nom = "Patate", Quantite = 3 } }; class Legume { public string Nom { get; set; } public int Quantite { get; set; } public override string ToString() { return Nom; } } } }
public class Courses { public List<Nourriture> Nourritures { get; set; } = new List<Nourriture> { new Nourriture() }; public class Nourriture { public List<Legume> Legumes { get; set; } = new List<Legume> { new Legume { Nom = "Tomate", Quantite = 1 }, new Legume { Nom = "Tomate Grappe", Quantite = 2 }, new Legume { Nom = "Patate", Quantite = 3 } }; public class Legume { public string Nom { get; set; } public int Quantite { get; set; } public override string ToString() { return Nom; } } } }
Courses courses = new Courses(); //On cherches les tomates List<Courses.Nourriture.Legume> lesTomates = (from n in courses.Nourritures //on itère tous les éléments de la collection Nourritures dans la variable n, un peu comme un foreach from l in n.Legumes //idem pour la collection Légumes where l.Nom.Contains("Tomate") //on pose la condition select l //on selection les instances qui répondent à la condition )//ici on a un IEnumerable<Legumes> .ToList();//on caste l'IEnumerable en liste //On cherche la Tomate Courses.Nourriture.Legume tomate = (from n in courses.Nourritures from l in n.Legumes where l.Nom == "Tomate" select l ).First(); //On cherche le nombre de patates, et on sait qu'il n'y a qu'une instance de patate int nombrePatates = (from n in courses.Nourritures from l in n.Legumes select l ).Single(l => l.Nom == "Patate").Quantite; //On cherche l'endive Courses.Nourriture.Legume endive = (from n in courses.Nourritures from l in n.Legumes where l.Nom == "Endive" select l ).FirstOrDefault();//retourne null s'il n'y a pas d'occurence if (endive == null) MessageBox.Show("Y a pas d'endives!");
List<Courses> courses = new List<Courses> { new Courses()}; //On cherches les tomates List<Courses.Nourriture.Legume> lesTomates = courses.SelectMany(c => c.Nourritures).SelectMany(n => n.Legumes).Where(l => l.Nom.Contains("Tomate")).ToList(); //On cherches la tomate Courses.Nourriture.Legume tomate = courses.SelectMany(c => c.Nourritures).SelectMany(n => n.Legumes).Single(l => l.Nom == "Tomate"); //On cherche l'endive Courses.Nourriture.Legume endive = courses.SelectMany(c => c.Nourritures).SelectMany(n => n.Legumes).SingleOrDefault(l => l.Nom == "Endive"); if (endive == null) MessageBox.Show("Y a pas d'endives!");
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question