【问题标题】:Convert IEnumerable to List of properties将 IEnumerable 转换为属性列表
【发布时间】:2013-09-05 18:59:05
【问题描述】:

假设我有一个名为 Event 的类:

public class Event
{
    public virtual int Id { get; set; }
    public virtual string Title { get; set; }
    public virtual string Description { get; set; }
}

并有以下查询:

var events = _eventInformationRepository.Fetch(e => e.Id != -1);

返回IEnumerable<Event>。但我想创建一个事件 ID 列表。这可以通过ienum直接完成吗?还是我必须生成列表、迭代、分配和添加每个值?

【问题讨论】:

    标签: c# linq list properties ienumerable


    【解决方案1】:

    只需使用 Linq Select 方法:

    var events = ...
    var eventIDs = events.Select(e => e.Id);
    

    这将返回一个IEnumerable<int>,这对于大多数用途来说应该足够了。但是,如果你真的想要 List<int>,你可以调用 ToList 方法:

    var eventIDs = events.Select(e => e.Id).ToList();
    

    【讨论】:

    • 哇,错过了 Select 真是太愚蠢了!是的,我需要转换为 List,因为我将使用它来验证另一个查询/ienum。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    相关资源
    最近更新 更多