none
Gruppenbildung in LINQ RRS feed

  • Frage

  • Hi,

    Ich versuche gerade Daten so zu sortieren und zu gruppieren, dass ich sie am Ende in einem LongListSelector anzeigen kann.

    		Dim alle = From arbeitszeit As Arbeitszeit In _Arbeitszeiten Select arbeitszeit
    
                    Dim sortiert = From eins In alle Order By eins.Start.TimeOfDay Select eins
    
                    Dim gruppen = From eins In sortiert Group eins By eins.Datum Into Gruppe = Group Select Gruppe
    
    
                    Dim GruppenAlsListe = From gruppe In gruppen Select New KeyedList(Of Date, Arbeitszeit)(gruppen)
    
                    Dim ListeDerGruppen As New List(Of KeyedList(Of Date, Arbeitszeit))(GruppenAlsListe)

    Leider wirft "GruppenAlsListe" eine InvalidCastException aus. Vermutlich kann der Key nicht zu Date umgewandelt werden (eins.Datum ist definitiv vom Typ Date). Während dem Debuggen steht folgendes da:

    gruppen = {System.Linq.Enumerable.WhereSelectEnumerableIterator(Of <anonymous type>, System.Collections.Generic.IEnumerable(Of Arbeitszeit))}

    Das ist meine KeyedList:

    Public Class KeyedList(Of TKey, TItem) : Inherits List(Of TItem)
    
        Public Property Key As TKey
    
        Public Sub New(key As TKey, items As IEnumerable(Of TItem))
            MyBase.New()
            Me.Key = key
        End Sub
    
        Public Sub New(grouping As IGrouping(Of TKey, TItem))
            MyBase.New(grouping)
            Key = grouping.Key
        End Sub
    End Class
    

    Wo liegt der Fehler?

    Viele Grüße

    Philipp

    Montag, 2. September 2013 13:44

Alle Antworten