SORU
27 Mayıs 2009, ÇARŞAMBA


Nasıl SERİ en az veya en fazla özellik değeri ile nesneyi seçmek için kullanın

Ben bir Kişinin Null DateOfBirth bir özelliğe sahip nesne. Bir şekilde SERİ en erken/en küçük DateOfBirth değeri olan bir Kişi için nesnelerin listesini sorgulamak için kullanmaktır.

İle başladı:

var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));

Boş DateOfBirth DateTime değerleri ayarlanır.Min edilen bedelin elemeye için MaxValue (en azından belirli bir DOB olduğu varsayımıyla).

Ama benim için yaptığı tek şey, bir DateTime değeri firstBornDate ayarlamaktır. Almak istiyorum ne uyan bir Kişi, nesne. Yani: ikinci bir sorgu yazmak gerekiyor

var firstBorn = People.Single(p=>p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue) == firstBornDate);

Ya orada bunu yapmanın daha yalın bir yolu var mı?

CEVAP
27 Mayıs 2009, ÇARŞAMBA


People.Aggregate((curMin, x) => (curMin == null || (x.DateOfBirth ?? DateTime.MaxValue) < curMin.DateOfBirth ? x : curMin))

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Julian Smith

    Julian Smith

    31 EKİM 2006
  • superemposed

    superemposed

    25 Aralık 2007
  • The10HourMan

    The10HourMan

    28 EYLÜL 2012