fork(2) download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. public class Test
  7. {
  8. public static void Main()
  9. {
  10. var dtMovieListDetails = new List<MovieClass>()
  11. {
  12. new MovieClass() { Format="DVD", MovieName="Star Wars", Price=12.99M},
  13. new MovieClass() { Format="DVD", MovieName="Star Wars II", Price=13.99M},
  14. new MovieClass() { Format="Blue-Ray", MovieName="Star Wars", Price=15.99M},
  15. new MovieClass() { Format="Blue-Ray", MovieName="Star Wars II", Price=17.99M}
  16. };
  17.  
  18. var moviesToBuy = from movie in dtMovieListDetails
  19. orderby movie.Format, movie.Price
  20. group movie by movie.Format into grp
  21. select new
  22. {
  23. Format = grp.Key,
  24. Movies = grp.Select (g => new { MovieName = g.MovieName, Price = g.Price })
  25. };
  26.  
  27. foreach(var movie in moviesToBuy)
  28. {
  29. Console.WriteLine(movie.Format);
  30. foreach(var detail in movie.Movies)
  31. {
  32. Console.WriteLine(string.Format(" {0} {1}", detail.MovieName, detail.Price));
  33. }
  34. }
  35. }
  36. }
  37.  
  38. public class MovieClass
  39. {
  40. public string Format { get; set; }
  41. public string MovieName { get; set; }
  42. public decimal Price { get; set; }
  43. }
Success #stdin #stdout 0.06s 37336KB
stdin
Standard input is empty
stdout
Blue-Ray
    Star Wars     15.99
    Star Wars II     17.99
DVD
    Star Wars     12.99
    Star Wars II     13.99