using System.Collections.Generic;
var firstPage = GetBlogPosts()
.Where(bp => bp.IsPublished)
.OrderByDescending(bp => bp.PublishDate)
Console.WriteLine("First page: ");
foreach (var blogPost in firstPage)
Console.WriteLine(blogPost);
var secondPage = GetBlogPosts()
.Where(bp => bp.IsPublished)
.OrderByDescending(bp => bp.PublishDate)
Console.WriteLine("Second page: ");
foreach (var blogPost in secondPage)
Console.WriteLine(blogPost);
IEnumerable<BlogPost> GetBlogPosts()
for (var i = 0; i < 20; i++)
yield return new BlogPost($"Blog Post {i}", i % 3 == 0, new DateTime(2022, 8, i + 1));
record BlogPost(string Title, bool IsPublished, DateTime PublishDate);