Tôi có một đối tượng Person với thuộc tính DateOfBirth không có giá trị. Có cách nào để sử dụng LINQ để truy vấn danh sách các đối tượng Person cho đối tượng có giá trị DateOfBirth sớm nhất / nhỏ nhất.
Đây là những gì tôi bắt đầu với:
var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));
Các giá trị Null DateOfBirth được đặt thành DateTime.MaxValue để loại trừ chúng khỏi sự cân nhắc tối thiểu (giả sử ít nhất một cái có DOB được chỉ định).
Nhưng tất cả những gì làm cho tôi là đặt FirstBornDate thành giá trị DateTime. Những gì tôi muốn nhận là đối tượng Person phù hợp với điều đó. Tôi có cần phải viết một truy vấn thứ hai như vậy không:
var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);
Hoặc có một cách gọn gàng hơn để làm điều đó?
a.Min(x => x.foo);
max("find a word of maximal length in this sentence".split(), key=len)
trả về chuỗi 'câu'. Trong C # "find a word of maximal length in this sentence".Split().Max(word => word.Length)
tính toán rằng 8 là độ dài dài nhất của bất kỳ từ nào, nhưng không cho bạn biết từ dài nhất là gì .