从对象列表中获取值列表

时间:2013-09-20 05:30:51

标签: c# linq

我有一个简单的课程:

 private class Category
    {
        public int Id { get; set; }
        public string Value { get; set; }
    }  

也是这种类型的对象列表:

 List<Category> Categories;

我需要获取“类别”列表中的ID列表。有没有比使用for循环更简单的方法:

 List<int> list = new List<int>();
    for (int i = 0; i < Categories.Count; i++)
    {
        list.Add(Categories[i].Id);
    }

提前致谢。

2 个答案:

答案 0 :(得分:43)

Categories.Select(c => c.Id).ToList() 这个表达式为你提供了你想要的列表

另外,不要忘记using System.Linq;

答案 1 :(得分:9)

使用如下。

Categories.Select(c => c.Id).ToList();

||

List<int> list = new List<int>();
foreach (Category item in Categories)
{
    list.Add(item.Id);
}