2010-10-20 8 views
0
public class MyClass { 

    List<MyOtherClass> myInnerList; 

} 

Disons que je l'ai déclaré ce qui suit un autre endroit:C# en VS2005: problème avec les listes

List<MyClass> myOuterlist; 

Comment pourrais-je générer rapidement une liste des myInnerLists en C# en utilisant VS2005? Pourquoi pas un simple pour boucle?

+0

Quelle est la relation entre MyClass et MyOtherClass? – Kimi

+0

Seulement 2 classes différentes. Aucune relation pertinente n'existe entre eux. –

+0

Comment est-ce un problème ?? –

Répondre

3

List<List<MyOtherClass>> innerLists = new List<List<MyOtherClass>>(); 
for (int i = 0; i < myOuterList.Count; i++) 
{ 
    innerLists.Add(myOuterList[i].myInnerList); 
} 
+0

Je pensais qu'il pourrait y avoir du sucre C# pour résoudre le problème. –

+3

@Craig, le sucre syntaxique existe, il s'appelle Linq. Mais ce n'est pas disponible dans VS2005 ... Quoi qu'il en soit, vous pourriez certainement rendre le code ci-dessus plus joli, en utilisant foreach au lieu de –

0

si vous voulez aplatir les listes dans une liste des MyOtherClass:

List<MyOtherClass> list = m.SelectMany(x => x.myInnerList).ToList(); 
+0

Ce n'est pas la question posée, et l'OP utilise VS2005, donc Linq n'est pas une option –