将两个具有不同元素的列表组合成一个列表,其中包含所有元素和 C# 中的 SAME 索引

Combining two lists with different elements to one list with all elements and SAME index in c#

我有两个不同的列表 geocode1geocode2 都是 5 行记录。 geocode1 有 4 列,即地址、城市、邮编和街道。 geocode2 有 4 列,即纬度、经度、状态和县

使用 addrange 合并它们,如下所示:

 geocode1.Addrange(geocode2)

结果 geocode1 有 8 列(这是我想要的)但有 10 行,前五列包含第一个列表 (geocode1) 中的值,最后五列包含第二个列表 (geocode2) 中的值。 (就像 SQL 中的外连接)

我希望有 8 列 5 行,两个列表的元素组合在一起,就像 SQL 中的内部联接一样。谁能给我提供解决方案?

你需要 zip:

var result = geocode1.Zip(geocode2, (c1, c2) => new ModelName
         {
           Address = c1.Address,
           City = c1.City,
           Zip = c1.Zip
           Street. c1.Street,
           Latitute = c2.Latitude
           Longitude = c2.Longitude,
           Status = c2.Status,
           Country = c2.Country
         }).ToList(); 

确保两个列表的长度相同,因为 Zip 将遵循最短的列表。