2016-03-29 2 views
0

Может кто-нибудь мне помочь? Как я могу получить List<Episode> от List<Show> где Episodes.Seen == false?Выберите данные из Многомерного списка

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; } 
} 

Большое спасибо за помощь тур.

+0

Использование LINQ: https://msdn.microsoft.com/en-us/library/bb397927.aspx –

ответ

2

Использовать простой Linq statment.

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

Почему вниз голосования? пожалуйста, укажите причину. –

+1

Возможно, потому, что вы использовали 'Select' вместо' SelectMany' – DavidG

+0

@QualityCatalyst. Это не допустимое редактирование, но это может быть достойный комментарий. Тем не менее, вопросы подразумевают, что это «Список » – DavidG

0

Вы можете сделать это с помощью LINQ, например, так:

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

Спасибо, ребята –

Смежные вопросы