我想的誰共享相同的名字的人的名單,但有出生年份1960年或者之前或之後,1970年Linq查詢正確的方式
它僅僅是一個實踐的查詢,我是用交叉的工作,通過它我得到的只是名字,但如果我想要人的全部對象,該怎麼辦?
我試過這個,這是工作。
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;
但如果有一個更好的查詢,我想知道
編輯:如果有2人的名字是亞當,和一個有出生年份58和一個有72個,那麼只有我應該接受兩個對象。這兩個類別都應該有同名。
犯規這一說法contact.DateOfBirth.Year> 1970年&& contact.DateOfBirth 。<1960年意味着同一個人的dob應該> 1970年和<1960年,這是不可能的 –
對不起,這是以前的評論,在目前的情況下,它會給我的名字甚至如果只有一個人的dob> 1970年或<1960年......此外,如果有兩個人,都> 1970年,他們將被包括在內 –
@ZaidBinIrfan:是的,會的。這聽起來像你沒有正確解釋你的要求。如果您可以提供樣本輸入和預期輸出,這將有所幫助。 –