none
LINQ Objekte mit höchster Versions Nummer selektieren RRS feed

  • Frage

  • Grüss Euch zusammen

    Ich habe eine Liste mit Objekten mit folgenden Properties

    - Name (string)
    - Erstellungsdatum (Datetime)
    - Version (integer)

    Ich muss nun eine Liste dieser Objekte erzeugen in denen nur jeweils die mit der höchsten Versionsnummer vorkommen. Das Ganze soll noch nach Erstellungsdatum DESC geordnet sein...

    Kann mir jemand sagen wie das am besten geht ?

    Gruss & danke im Voraus
    Peter

    Mittwoch, 13. November 2013 14:10

Antworten

  • Habe gerade gesehen, dass die Frage in vb.net war.

    Noch besser wäre es vielleicht auch, das Maxium vorher zu berechnen:

    Dim max As Integer = items.Max(Function(i) i.Version)
    Dim selectedItems = items.Where(Function(i) i.Version = max)

    Mittwoch, 13. November 2013 14:18

Alle Antworten

  • Hallo Peter,

    hier ein kleines Codebeispiel:

    var maxItems = items.Where(i => i.Version == items.Max(j => j.Version));

    Dabei habe ich angenommen, dass in "items" alle Objekte enthalten sind. In "maxItems" sollten dann alle Objekte mit der höchsten Version enthalten sein.

    Viele Grüße,
    Thomas Fröhle
    App-Entwickler-Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.


    Mittwoch, 13. November 2013 14:15
  • Habe gerade gesehen, dass die Frage in vb.net war.

    Noch besser wäre es vielleicht auch, das Maxium vorher zu berechnen:

    Dim max As Integer = items.Max(Function(i) i.Version)
    Dim selectedItems = items.Where(Function(i) i.Version = max)

    Mittwoch, 13. November 2013 14:18
  • Danke Thomas

    Läuft prima :-)

    Mittwoch, 13. November 2013 15:57