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

  • SalGames2016

    SalGames2016

    17 Kasım 2012
  • thewinekone

    thewinekone

    17 Aralık 2005
  • tsweeney79

    tsweeney79

    21 Ocak 2008