private static IEnumerable<Task<int>> RangeCore(int start,int count,int step) { for( var i = start; i < start + count; i+= step) { yield return Task.FromResult(i); } } }