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

  • Apple

    Apple

    22 HAZİRAN 2005
  • fireflame65

    fireflame65

    27 Mart 2007
  • newport83

    newport83

    19 HAZİRAN 2006