Это зависит от ваших точных потребностей, но вы можете использовать:
var groupArray = groups.ToArray();
Аналогично, вы можете использовать ToList
. Эти структуры данных являются последовательными, и каждая группа имеет индекс.
Если вам нужен индекс для создаваемого объекта, другой вариант - использовать Select
:
list.GroupBy(c => c.Name)
.Select((details, ind) =>
new
{
Name = details.Key,
DetailRecords = details,
Index = ind
});