En C#, récupérer une liste B appartenant à une liste A
Tu as une List<A>
et dans chaque A
tu as une List<B>
. Tu veux "aplatir" toutes les listes de B
pour récupérer une seule liste qui contient tous les B
.
En C#, on utilise LINQ avec SelectMany
pour ça :
public class A
{
public List<B> Bs { get; set; }
}
public class B
{
public string Name { get; set; }
}
// Exemple d'utilisation
List<A> listeA = new List<A>
{
new A { Bs = new List<B> { new B { Name = "B1" }, new B { Name = "B2" } } },
new A { Bs = new List<B> { new B { Name = "B3" }, new B { Name = "B4" } } }
};
// Récupérer tous les B dans une seule liste
List<B> tousLesB = listeA.SelectMany(a => a.Bs).ToList();
// Exemple d'affichage
foreach (var b in tousLesB)
{
Console.WriteLine(b.Name);
}
👉 Résultat affiché :
B1
B2
B3
B4