This question is related to a previous question of mine
That\'s my current code
IEnumerable Get() { while(//get implementation
For a neat way to get batches of items from an IEnumerable, see this:
C#: Cleanest way to divide a string array into N instances N items long
Update: No good, that works on arrays. If I have some time later and no one else has provided something, I'll write it up...