我有两个 list 。 BeamElevations<Elevation>FloorElevations<Elevation>。如何将它们合并到Elevations<Elevation>列表中,并使用Linq根据其高程对其进行排序?

最佳答案

使用 Concat OrderBy

var result = list1.Concat(list2).OrderBy(x => x.Elevation).ToList();

如果要删除重复项并获取一组唯一的元素,则也可以使用 Union 方法:
var result = list1.Union(list2).OrderBy(x => x.Elevation).ToList();

为了使其正常工作,您需要在您的类中覆盖EqualsGetHashCode方法。

10-06 15:33