I have a homework, where we are given IEnumerable<Movie>
where Movie contains HashSet<string> genres (list of genres represented by string like "Comedy", "Drama" etc.).
How to use LINQ and group by to sort movies by genre?
(create IGrouping<string, IEnumerable<Movie>>)
It sounds like you want to flatten out the movies into move/genre pairs first, then group:
var grouped = from movie in movies
from genre in movie.Genres
group movie by genre;
Or avoiding query expressions:
var grouped = movies.SelectMany(movie => move.Genres,
(movie, genre) => new { movie, genre })
.GroupBy(pair => pair.genre, pair => pair.movie);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With