映射两个点列表并用linq替换

kar*_*rra 1 c# linq mapping

我有两个包含点(xy)的列表.x值是时间,y值是传感器数据.这两个列表大多数共享相同的时间戳.

我想在两个列表中映射时间戳,并将列表A中的x值替换为列表B中的相应(时间明智)y值.

下图说明了我在寻找的内容:

在此输入图像描述

有人知道怎么用linq做这个吗?

juh*_*arr 7

这看起来像是一个直接的联接.

var desired = from a in ListA
              join b in ListB on a.Time equals b.Time
              select new 
              {
                  AValue = a.Value, 
                  BValue = b.Value
              };
Run Code Online (Sandbox Code Playgroud)

或者在方法语法中

var desired = ListA.Join(
    ListB, 
    a => a.Time, 
    b => b.Time, 
    (a,b) => new {AValue = a.Value, BValue = b.Value});
Run Code Online (Sandbox Code Playgroud)