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

  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007