C# 将IEnumerable转换为属性列表

C# 将IEnumerable转换为属性列表,c#,linq,list,properties,ienumerable,C#,Linq,List,Properties,Ienumerable,假设我有一个名为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 !=

假设我有一个名为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
。但是我想创建一个事件ID列表。这可以通过ienum直接完成吗?或者我必须生成列表、迭代、分配和添加每个值吗?

只需使用Linq方法:

这将返回一个
IEnumerable
,对于大多数用途来说,这应该足够了。但是,如果您确实想要一个
列表
,可以调用以下方法:


哇,错过了精选真是太蠢了!是的,我需要强制转换到列表,因为我将使用它验证另一个查询/ienum。再次感谢!
var events = ...
var eventIDs = events.Select(e => e.Id);
var eventIDs = events.Select(e => e.Id).ToList();