简体   繁体   English

将IEnumerable转换为属性列表

[英]Convert IEnumerable to List of properties

Say I have a class called Event: 假设我有一个名为Event的类:

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

And have the following query: 并有以下查询:

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

Which returns an IEnumerable<Event> . 它返回一个IEnumerable<Event> But I'd like to create a list of IDs of events. 但我想创建一个事件ID列表。 Can this be done directly via ienum? 这可以通过ienum直接完成吗? Or do I have to generate the list, iterate, assign and add each value? 或者我是否必须生成列表,迭代,分配和添加每个值?

Just use the Linq Select method: 只需使用Linq Select方法:

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

This will return an IEnumerable<int> , which should be enough for most purposes. 这将返回一个IEnumerable<int> ,这对于大多数用途来说应该足够了。 However, if you really want a List<int> you can just call the ToList method: 但是,如果您真的想要List<int> ,则只需调用ToList方法:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM