public static void Main()
var exchangeRates = new[]
new {Currency = "USD", Rate = 1.2701},
new {Currency = "JPY", Rate = 138.97},
new {Currency = "BGN", Rate = 1.9558},
new {Currency = "CZK", Rate = 27.54},
new {Currency = "DKK", Rate = 7.4432},
new {Currency = "GBP", Rate = 0.7827},
new {Currency = "HUF", Rate = 312.18},
new {Currency = "LTL", Rate = 3.4528},
new {Currency = "PLN", Rate = 4.1827},
new {Currency = "RON", Rate = 4.4125},
new {Currency = "SEK", Rate = 9.2018},
new {Currency = "CHF", Rate = 1.2071}
var batches = from e in exchangeRates.Select((exchangeRate, index) =>
new {ExchangeRate = exchangeRate, Index = index})
group new {e.ExchangeRate, e.Index}
foreach (var batch in batches)
Console.WriteLine("------------");
Console.WriteLine("Batch no: {0}", currentBatch);
Console.WriteLine("------------");
Console.WriteLine("{0} : {1} {2}", index, b.ExchangeRate.Currency, b.ExchangeRate.Rate);