如何从列表中仅获取特定字段

时间:2011-12-21 09:50:51

标签: c# asp.net linq list ienumerable

我有一个IEnumerable课程对象:

IEnumerable<Lesson> filteredLessons

我通过以下方法将其转换为List:

ToList();

但我希望返回的列表只包含第一个属性lessonid,而不是所有Lesson属性。

如何获取列表特定属性的数据而不是对象?

2 个答案:

答案 0 :(得分:23)

您可以先选择所需的值,如下所示:

filteredLessons.Select(l => l.lessonId).ToList();

您将获得ID的列表

答案 1 :(得分:0)

如果要使用linq从列表中获取特定行值,请使用以下代码:

var name = from r in objClientList
           where r.ClientCode == Convert.ToInt32(drpClientsInternal.Items[i].Value)
           select r.IsInternalClient;

foreach (bool c in name)
{
    if (c)
    {
        ClientNameInternal = ClientNameInternal + drpClientsInternal.Items[i].Text +", ";
        drpClientsInternal.Items[i].Selected = true;
    }
}