我有两个列表。 BeamElevations<Elevation>
和FloorElevations<Elevation>
。我如何将它们合并到Elevations<Elevation>
列表中并使用Linq根据它们的高程对它们进行排序?将两个列表<object>合并到一个列表中Linq
9
A
回答
17
var result = list1.Concat(list2).OrderBy(x => x.Elevation).ToList();
如果你想删除重复项,并得到一个唯一的一组元素,你也可以用Union
方法:
var result = list1.Union(list2).OrderBy(x => x.Elevation).ToList();
为了使它正常工作你需要在课堂上覆盖Equals
和GetHashCode
方法。
3
最初,你将它们合并象下面这样:
Elevations=BeamElevations.Union(FloorElevations)
.ToList();
然后
Elevations=Elevations.OrderBy(x=>x.Elevation)
.ToList();
或者一步到位:
Elevations=BeamElevations.Union(FloorElevations)
.OrderBy(x=>x.Elevation)
.ToList();
另一种方式来实现这一目标是使用Concat
Elevations=BeamElevations.Concat(FloorElevations)
.OrderBy(x=>x.Elevation)
.ToList();
2
List<Elevation> Elevations= FloorElevations.Concat(BeamElevations).ToList();
1
list1.AddRange(list2);
list1.OrderBy(l => l.Elevation);
0
如果有任何开发者在那里,可能会寻求在VB.NET的解决方案,在这里你去:
Dim list1 As List(Of MyObject)
Dim list2 As List(Of MyObject)
Dim mergedAndSortedList As List(Of MyObject)
mergedAndSortedList = (From obj In list1.Union(list2)
Order By obj.MyPropertyToSortOn
Select obj).ToList()
相关问题
- 1. 合并两个列表中的LINQ
- 2. 如何将两个列表的列表合并到一个新列表中
- 3. LINQ如何将两个列表分组到一个列表中?
- 4. 合并列表:将三个列表合并到一个新列表中
- 5. 如何两个列表中有两列合并到一个
- 6. 将列表的列表合并到一个列表中python
- 7. 合并两个列表使用LINQ
- 8. 将两个列表合并成一个列表
- 9. 将3个元组列表合并到一个新列表中
- 10. 将两个列表的相应元素合并到一个新列表中
- 11. 将两列数据合并到另一个第一个表中的一列中
- 12. 将两个文件的数据合并到一个列表中
- 13. Python-将两个列表组合成一个列表列表
- 14. 将两个表中的两列合并为一个
- 15. 将5个列表<object>合并成一个列表<object>
- 16. 合并两个列表成为一个
- 17. 合并两个列表成为一个
- 18. 将合并列表合并为一个
- 19. tsql将列合并到一个表
- 20. 将两个列表框中的项目合并到第三个列表框中
- 21. SML - 合并两个列表
- 22. Groovy合并两个列表?
- 23. 合并两个列表
- 24. 合并两个列表C++
- 25. Prolog合并两个列表
- 26. 合并两个列表的
- 27. 合并两个列表
- 28. 将两个列表数据合并为单个列表C#
- 29. 将两个列表合并为第三个列表 - 错误
- 30. 在Prolog中将两个列表合并到一起订购
什么是-1? :) – Vahid
没有投票但id想象它,因为缺乏研究努力 – Sayse
我认为这是因为人们nobs –