Quel est le moyen le plus facile et peu efficace pour convertir une structure plate:Linq: Conversion de la structure à plat hiérarchique
object[][] rawData = new object[][]
{
{ "A1", "B1", "C1" },
{ "A1", "B1", "C2" },
{ "A2", "B2", "C3" },
{ "A2", "B2", "C4" }
// .. more
};
dans une structure hiérarchique:
class X
{
public X()
{
Cs = new List<string>();
}
public string A { get; set; }
public string B { get; set; }
public List<string> Cs { get; private set; }
}
le résultat devrait ressembler à ceci
// pseudo code which describes structure:
result =
{
new X() { A = "A1", B = "B1", Cs = { "C1", "C2" } },
new X() { A = "A2", B = "B2", Cs = { "C3", "C4" } }
}
De préférence en utilisant des méthodes d'extension de Linq. La classe cible X
peut être modifiée (par exemple, un paramètre public pour la liste), uniquement si elle n'est pas possible/utile telle qu'elle est actuellement.
vous besoin d'une sorte de groupe par – Andrey
@Andrey, oui, c'est un groupe par 'A' et' B' et l'agrégation de la 'Cs' dans une liste. –