首页 > 解决方案 > 如何使用 Linq 将一个列表投影到另一个列表?

问题描述

有两个类:

public class Persons
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string LastName { get; set; }
    public int Phone { get; set; }
    public DateTime Time { get; set; }
}

public class Phones
{
    public string Name { get; set; }
    public int Phone { get; set; }
}

我需要使用 linq 获得 PhoneList 的 Persons 投影:

List<Persons> personList = List<Persons>{...};

List<PhoneList> phoneList = persons...

我如何得到它?

标签: c#listlinqdictionaryprojection

解决方案


使用该Select子句进行投影:

List<PhoneList> phoneList = personList.Select(x => new Phones { Name = x.Name, Phone = x.Phone }).ToList();

推荐阅读