2010-09-02 6 views
2

Je suis en train d'écrire une application C# et j'ai troble analyser un objet qui est dans la liste de liste. En ce moment, j'ai quelque chose comme,Obtention d'un objet dans la liste de la liste

List<List<MyObj>> list; 

et je suis juste essayer d'obtenir la liste des MyObj. Et, il semble que la liste externe est générique. Comment puis-je obtenir la liste interne (Liste)?

Nous vous remercions de votre aide.

+0

Utilisez le code pour voir le code – Grozz

Répondre

6

Si vous voulez juste un de la List<MyObj> intérieure spécifique, utiliser l'indexeur

List<MyObj> local = list[0]; 

Si vous voulez toutes les listes internes considérées comme une seule List<MyObj> avec celles de l'intérieur vient d'être combinés ensemble puis utilisez SelectMany

List<MyObj> local = list.SelectMany(x => x).ToList(); 
1

liste intérieure = outerlist [indexOfListYouWant]

une liste dans une liste peut être consultée comme tout autre objet de cette liste.

1

Vous devez uniquement sur la liste itérer externe comme ceci:

foreach(List<MyObj> innerList in list) 
{ 
    // do stuff to innerList 
} 
0

Quelle est la « interne listes » que vous voulez?

List<List<MyObj>> list; 
List<MyObj> MyObjList = list[0]; 
0

Pour accéder à un (ici, la première) des nombreuses listes internes:

List<MyObj> inner = list[0]; 

Pour activer ce « en dents de scie » liste 2 dimensions en une seule liste unidimensionnelle:

List<MyObj> oneList = list.Aggregate(new List<MyObj>(), (inner, result) => result.Concat(inner)).ToList(); 
Questions connexes