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

  • fireflame65

    fireflame65

    27 Mart 2007
  • Truc Minh

    Truc Minh

    23 Ocak 2011
  • xXGAMERrs_Xx

    xXGAMERrs_Xx

    31 Temmuz 2014