2010-01-11 4 views
1

J'ai une:C#/LINQ/tous les éléments de la sous-collection correspondent-ils à une condition?

ObservableCollection<X> x_collection = new ObservableCollection(); 

public class X 
{ 
    public X() 
    { 
     Items = new ObservableCollection<Y>(); 
     for(int i = 0; i < 10; i++) 
     { 

      Items.Add(new Y(i % 2 == 0)); 
     } 
    } 
    public ObservableCollection<Y> Items {get; set;} 
} 

public class Y 
{ 
    public Y() : this(true) {} 
    public Y(bool y) { MyProperty = y; } 
    public bool MyProperty { get; set; } 
} 

Comment puis-je créer une requête LINQ qui renverra un IEnumerable ou ObservableCollection qui ne sera obtenir des éléments Y qui ont leur MyProperty == vrai? Je me rends compte que c'est probablement une question très facile, mais je suis assez confus avec LINQ atm.

Si possible, je voudrais demander une lambda-requête - ils sont beaucoup plus facile pour moi de comprendre

Répondre

6
var result = Items.Where(y => y.MyProperty); 

var biggerResult = x_collection.SelectMany(x => x.Items.Where(y => y.MyProperty)); 
+0

ne pas que les éléments de retour d'un X uniquement? J'ai besoin de résultats de l'ensemble x_collection? – Maciek

+0

@Maciek, vous n'avez pas dit :) :) réponse éditée. –

+0

Laissez-moi voir si cela fonctionne .... – Maciek

Questions connexes