3

假设我有一个名为 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直接完成吗?还是我必须生成列表、迭代、分配和添加每个值?

4

1 回答 1

11

只需使用 LinqSelect方法:

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

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

var eventIDs = events.Select(e => e.Id).ToList();
于 2013-09-05T19:00:57.417 回答