我有一个这样的课程
class Man
{
int age;
int height;
}
并创建一个像这样的列表
List<Man> student_list = new List<Man>();
需要从age
获取student_list
作为List<int>
的列表。是否有可能没有循环通过列表?
需要从Man
获取student_list
age = 20
作为List<Man>
的列表。是否有可能没有循环通过列表?
答案 0 :(得分:3)
更改您的模型以包含名为Age
的公共属性(而不是私有字段),然后您可以在集合上使用Select
:
IEnumerable<int> ages = student_list.Select(student => student.Age);
将Where
与ToList
结合使用,如下所示:
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();