Linq Merge 2 Lists to One

Zil*_*ael 2 .net c# linq

我有两个列表例如:1:

 ID | Number
-------------
 01 |   20
 02 |   50
 04 |  2500
Run Code Online (Sandbox Code Playgroud)

2:

 ID | Number
-------------
 01 |   10
 02 |   20
 03 |  1500
Run Code Online (Sandbox Code Playgroud)

我要回的最后一个清单是:

 ID | Number
-------------
 01 |   30
 02 |   70
 03 |  1500
 04 |  2500
Run Code Online (Sandbox Code Playgroud)

我怎么能用Linq做到这一点?

Hos*_*Rad 6

您可以使用该Zip方法.

public class MyClass
{
    public int Id { get; set; }
    public string Number { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后尝试这个:

List<MyClass> fist = new List<MyClass>();     //add some data
List<MyClass> second = new List<MyClass>();   //add some data

fist.Zip(second,
          (i1, i2) => new MyClass() { Id = i1.Id, Number = i1.Number + i2.Number });
Run Code Online (Sandbox Code Playgroud)