ฉันมีวัตถุบุคคลที่มีคุณสมบัติ DateOfBirth Nullable มีวิธีการใช้ LINQ ในการค้นหารายการของวัตถุบุคคลสำหรับหนึ่งที่มีค่า DateOfBirth เร็วที่สุด / เล็กที่สุด
นี่คือสิ่งที่ฉันเริ่มต้นด้วย:
var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));
ค่า Null DateOfBirth ถูกตั้งค่าเป็น DateTime.MaxValue เพื่อที่จะตัดออกจากการพิจารณาขั้นต่ำ (สมมติว่าอย่างน้อยหนึ่งตัวมี DOB ที่ระบุ)
แต่สิ่งที่ทำเพื่อฉันคือการตั้งค่า firstBornDate เป็นค่า DateTime สิ่งที่ฉันต้องการได้คือวัตถุบุคคลที่ตรงกับที่ ฉันต้องเขียนคำถามที่สองเช่นนี้หรือไม่:
var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);
หรือมีวิธีการที่บางกว่าหรือไม่?
a.Min(x => x.foo);
max("find a word of maximal length in this sentence".split(), key=len)
ส่งคืนสตริง 'ประโยค' ใน C # "find a word of maximal length in this sentence".Split().Max(word => word.Length)
คำนวณว่า 8 คือความยาวที่ยาวที่สุดของคำใด ๆ แต่ไม่ได้บอกคุณว่าคำที่ยาวที่สุดคืออะไร