using System.Collections.Generic;
public static void Main(string[] args)
List<int> email = new List<int>() { 60, 50, 70, 30, 80, 65, 90, 75, 55 };
Console.WriteLine("<Results>");
foreach (var batch in email.Batch(3))
Console.WriteLine("<Result>");
Console.WriteLine(String.Join("\n", batch.Select(x => " <Mark>"+x+"</Mark>")));
Console.WriteLine(" <Total>" + batch.Sum() + "</Total>");
Console.WriteLine("</Result>");
Console.WriteLine("</Results>");
public static class Extensions
public static IEnumerable<IEnumerable<T>> Batch<T>(this IEnumerable<T> items,
return items.Select((item, inx) => new { item, inx })
.GroupBy(x => x.inx / maxItems)
.Select(g => g.Select(x => x.item));