Linq Sélectionnez IList
List<MyParentClass> parents = new List<MyParentClass>();
var parent1 = new MyParentClass("parent1");
var parent2 = new MyParentClass("parent2");
parents.Add(parent1);
parents.Add(parent2);
var child1 = new MyChildClass("child1");
parent1.children.Add(child1);
var child2 = new MyChildClass("child2");
var child3 = new MyChildClass("child3");
parent2.children.Add(child2);
parent2.children.Add(child3);
var foo = from p in parents
select from c in p.children
select c;
Assert.IsNotNull(foo);
Assert.AreEqual(3, foo.Count());
NUnit.Framework.AssertionException:
expected: <3>
but was: <2>
Je pense que je suis un IList de ILists de retour, mais je exepect juste les trois enfants. Comment puis-je obtenir?
OriginalL'auteur Jason Marcell | 2009-03-10
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas trop à l'aise avec la syntaxe de la requête, mais je pense que ce sera aplatissez la liste des enfants:
L'aide de l'extension de la méthode de la syntaxe ressemble à ceci:
OriginalL'auteur Matt Hamilton
Vous sont effectivement obtenir, en retour, un IEnumerable<IEnumerable<MyChildClass>>. Afin d'obtenir un simple IEnumerable<MyChildClass> vous pouvez faire l'appel suivant
OriginalL'auteur JaredPar