Wenn ich ein Objekt mit dem höchsten Wert in einer DateTime
Eigenschaft von einem IEnumerable
abrufen möchten, kann ich folgendes tun:Erste Objekt mit max Datum Zeitwert in einer seiner Eigenschaften
var maxDate = myEnumerable.Max(x => x.TheDateTimeProperty);
var wantedObject = myEnumerable.FirstOrDefault(x => x.TheDateTimeProperty == maxDate);
Ist das möglich ohne zuerst die maxDate
zu bekommen? Zum Beispiel wie folgt aus:
var wantedObject = myEnumerable.GetByMaxDate(x => x.TheDateTimeProperty);
Ich weiß, dass ich eine Erweiterungsmethode schreiben konnte GetByMaxDate
, aber ich möchte wissen, ob es bereits eine Methode, mit Linq vorgesehen ist.
Nur um zu klären: Nicht auf der Suche nach anderen Möglichkeiten, dies zu schreiben. Ich war nur interessiert, ob es eine Methode gibt, die das tut. (Weniger Code, möglich beste Leistung durch das Verfahren verwaltet)
Sie können [morelinq] (https://code.google.com/p/morelinq /) von Jon Skeet und seine Methode [MaxBy] (https://code.google.com/p/morelinq/source/browse/MoreLinq/MaxBy.cs?r=2da75c30d5bda7959e5113b702b4bb204a0e4a2c) – Habib
Ich zweite der Begriff dass Sie die MaxBy-Methode von morelinq verwenden sollten. Sollte in jedem C# Programmierer Toolbox sein! –
Also, es gibt keine Einbaumethode von linq, danke für die Information über diese! –