如何从c#中的列表创建子列表?

时间:2016-02-16 18:20:44

标签: c# linq list

我有一个班级:

class person{
             string first_name;
             string middle_name;
             string last_name;
             string adress;
             string phone;
           }

我有一个班主任名单:

List<person> person_list= new List<person>();

我喜欢创建一个只包含名字,中间名和姓氏的人员子列表。

我试过了:

var sub_list = (from item in person_list 
                select new {item.first_name , 
                            item.middle_name , 
                            item.last_name});

它的工作。 但我不想要“var”类型,因为我无法将sub_list传递给另一个函数。我该如何设置一个类型而不是var?

1 个答案:

答案 0 :(得分:3)

为您的人创建视图模型:

class PersonVM 
{
    string first_name;
    string middle_name;
    string last_name;
}

IEnumerable<PersonVM> sub_list = from item in person_list 
                    select new PersonVM {
                         first_name = item.first_name , 
                         middle_name = item.middle_name, 
                         last_name = item.last_name
                    };