У меня есть несколько перечисляемых с данными от датчиков
time_elapsed, speed_x, speed_y, speed_z, высота, широта, долгота…
Каждый список имеет одинаковое количество элементов.
Я хочу объединить данные всех списков в последовательность элементов состояния.
class Status
{
public int TimeElapsed {get; set; }
public double SpeedX {get; set; }
public double SpeedY {get; set; }
public double SpeedZ {get; set; }
...
}
Я думал об использовании метода Enumerable.Zip, но он выглядит действительно громоздким:
var statuses = time_elapsed
.Zip(speed_x, (a, b) => new { a, b})
.Zip(speed_y, (c, d) => new { c, d})
.Zip(speed_z, (e, f) => new { e , f})
.Select(x => new Status
{
Time = x.e.c.a,
SpeedX = x.e.c.b,
SpeedY = x.e.d,
SpeedZ = x.f
// ...
});
Как вы видите, это из-за того, что вы читаете все эти анонимные типы.
Есть ли лучший способ сделать это, не потеряв голову?