У меня есть 2 типа:
public class TimedValue
{
public DateTime TimeStamp { get; set; }
public double Value { get; set; }
}
public class Stats
{
IList<TimedValue> Values { get; set; }
... // some other fields
}
Несколько экземпляров Stats хранятся в объекте коллекции IEnumerable.Я пытаюсь найти запрос LINQ, который бы дал мне хронологическую сумму значений по всем экземплярам статистики.Это означает, что он будет проходить через каждое TimedValue в каждом объекте Stats, и, если их TimeStamps совпадают, он добавит поля Value.Так что в конце я получу хронологически (от старейшего до новейшего) сгруппированный список двойников.
Будучи слабым в LINQ, я терплю неудачу в этом.Я только дошел до того, чтобы сделать:
.Select(stat => stat.Values)
Для проецирования до:
List<List<Value>>
Какой поднабор объекта Stats мне нужен, но я не могу понять,как сгруппировать итоговые значения, которые мне нужны из этого.
Пример (поскольку существует некоторая путаница относительно того, что я имел в виду):
Предположим, у нас есть 2 экземпляра статистики, я упрощаю нотациюздесь, просто для краткости примеров:
Stats1 : Значения = {{"Monday", 1.1}, {"Tuesday", 2.2}}
Stats2 : Значения = {{"Понедельник", 1.1}, {"Вторник", 2.2}, {"Пятница", 3.3}}
Результатом должен быть список двойников: {2.2, 4.4, 3.3}