我有兩個列表。 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 –