1 var groups = targets.Select((item, index) => new { Item =item, GroupIndex = index % amount }) 2 .GroupBy(item => item.GroupIndex, 3 (key, group) => group.Select(groupItem => groupItem.Item).ToList()) 4 .ToList();