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