2016-03-29 17 views
0

kann mir jemand helfen? Wie kann ich List<Episode> von List<Show> bekommen, wo Episodes.Seen == false?Daten aus multidimensionaler Liste auswählen

public class Show 
{ 
    public string Name { get; set; } 
    public List<Episode> Episodes { get; set; } 
} 

public class Episode 
{ 
    public string Name { get; set; } 
    public Nullable<bool> Seen { get; set; } 
} 

Vielen Dank für Tour Hilfe.

+0

Verwenden LINQ: https://msdn.microsoft.com/en-us/library/bb397927.aspx –

Antwort

2

Verwenden Sie einfach Linq Statment.

var episodes = shows.SelectMany(s=>s.Episodes.Where(e=>e.Seen.HasValue && !e.Seen.Value)); 
+0

Warum nach unten Abstimmung? Bitte geben Sie den Grund an. –

+1

Wahrscheinlich, weil Sie 'Select' anstelle von' SelectMany' verwendet haben – DavidG

+0

@QualityCatalyst Das ist keine gültige Bearbeitung, aber es könnte ein anständiger Kommentar sein. Die Fragen implizieren jedoch, dass es sich um eine 'List ' – DavidG

0

Sie können diese mithilfe von LINQ, etwa so:

using System.Linq; 

IEnumerable<Episode> unseenEpisodes = (from show in shows 
         from episode in show.Episodes 
         where (episode.Seen.HasValue && episode.Seen.Value == false) 
         select episode); 
+0

Danke, Leute –

Verwandte Themen