从List中获取内部元素作为List

时间:2014-08-22 03:38:38

标签: c#

我有一个这样的课程

class Man
{
 int age;
 int height;
}

并创建一个像这样的列表

List<Man> student_list = new List<Man>();
  1. 需要从age获取student_list作为List<int>的列表。是否有可能没有循环通过列表?

  2. 需要从Man获取student_list age = 20作为List<Man>的列表。是否有可能没有循环通过列表?

2 个答案:

答案 0 :(得分:3)

  1. 更改您的模型以包含名为Age的公共属性(而不是私有字段),然后您可以在集合上使用Select

    IEnumerable<int> ages = student_list.Select(student => student.Age);
    
  2. WhereToList结合使用,如下所示:

    List<Man> students = student_list.Where(student => student.Age == 20).ToList();
    

答案 1 :(得分:0)

使用LINQ to Objects执行此操作的另一种方法:

// Get the students ages
List<int> ages = (from student in student_list select student.age).ToList();

// Get only 20 years old students
List<Man> students = (from student in student_list where student.age == 20 select student).ToList();