簡體   English   中英

當兩個列表具有不同的類型時,如何合並它們?

[英]How can I merge two lists when they have different types?

var orderedStudents = students.OrderBy(x => x.FacultyNumber).ToList();
var orderedWorkers = workers.OrderByDescending(x => x.moneyPerHour).ToList();

這些是我要合並的兩個列表,但是由於它們具有不同的類型,所以我不知道如何合並。

要么從通用基類派生它們,然后使用sth like

var humanBeings = orderedStudents.Cast<Human>().Concat(orderedWorkers.Cast<Human>()).ToList();

或..將它們強制轉換為通用基類:) object

另一個選擇:創建一個包含通用屬性的類

class Person {
    public string Name { get; set; }
    public string Lastname { get; set; }
}

var orderedStudents = students.OrderBy(x => x.FacultyNumber).Select(x => new Person { Name = x.Name, Lastname = x.Lastname});
var orderedWorkers = workers.OrderByDescending(x => x.moneyPerHour).Select(x => new Person { Name = x.Name, Lastname = x.Lastname});
var mergedList = orderedStudents.Concat(orderedWorkers).ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM