trip.GroupBy(...)
не возвращает IEnumerable<Trip>
.Он возвращает IEnumerable<IGrouping<'a, Trip>>
, где 'a
- анонимный тип, созданный для объектов new {...}
.
Эти IGrouping<'a, Trip>
объекты являются коллекциями и не могут быть непосредственно преобразованы в Trip
.
Если вам нужен только один объект на группу, выполните:
IEnumerable<Trip> data = trip
.GroupBy(y => new {
y.StartingNode,
y.EndingNode,
y.PathNumber
})
.Select(g => g.First());
List<Trip> listAgain = data.ToList();
В качестве альтернативы, если вы хотите, чтобы все объекты отключения, но были сгруппированы по их начальному / конечному узлам и номеру пути, выполните:
IEnumerable<Trip> data = trip
.GroupBy(y => new {
y.StartingNode,
y.EndingNode,
y.PathNumber
})
.SelectMany(g => g);
List<Trip> listAgain = data.ToList();
Объекты IGrouping
шаблонизируются исходным типом и возвращают Trip
объекты для обоих .First () и .SelectMany () .