【发布时间】:2014-02-25 17:59:28
【问题描述】:
我想要一个名字相同但出生年份在 1960 年之前或 1970 年之后的人的列表。
这只是一个练习查询,我正在使用 intersect,通过它我只得到名字,但是如果我想要整个对象怎么办?
我试过这个,效果很好。
using Chapter01Samples;
var contacts = Contact.SampleData();
var callLog = CallLog.SampleData();
var result = from contact in contacts
group contact by contact.FirstName into person
where person.Any( c => c.DateOfBirth.Year > 1970)
&& person.Any(c => c.DateOfBirth.Year < 1960)
select person;
但如果有更好的查询,我想知道
编辑:如果有两个人名叫亚当,一个人的出生年份是 58 岁,一个人是 72 岁,那么只有我应该收到这两个对象。两个类别中应存在相同的名称。
【问题讨论】: