[ visual basic ] lista struktur oraz join

0

Witam ,

Panowie i Panie chciałbym pogrupować elementy struktury p1 , p2 oraz połączyć (join) elementy p3 w liście struktur i
niewiem jak poprawnie zrobić tego join`a na końcu , mam taki oto kod :

Do While Not rs.EOF
            strFaktura_.p1 = 'a'
            strFaktura_.p2 = 'b'
            strFaktura_.p3 = 'c'
            strFaktura_.p4 = 'd'
            strFaktura_.p5 = 'e'
            strFaktura_.p6 = 'z'
            lFaktura.Add(strFaktura_)
        Loop

        Dim lPodsumuj As Object
        lPodsumuj = lFaktura.GroupBy(Function(g) New With {Key g.p1, Key g.p2).Select(Function(group) New With {.p1 = group.Key.p1, .p2 = group.Key.p2, .p3 = string.Join(";", function(a) a.p3) )})

Proszę o sugestię jak poprawnie to zrobić.

0

Próbuję jeszcze tak :

  lPodsumuj = lFaktura.GroupBy(Function(g) New With {Key g.p1, Key g.p2}).Select(Function(group) New With {.p1 = group.Key.p1, .p2 = group.Key.p2, .p3 = group.Count(), .p4 = String.Join(";", group.Select(Function(a) a.p4))})

kompilacja przechodzi ale pluje błędem :

For Each x As Object In lPodsumuj
        MsgBox(x.p4)
    Next
Nie można rzutować obiektu typu 'WhereSelectEnumerableIterator`2
0

Na wyniku operacji GroupBy zrób jeszcze ToList().

0

Próbuję tak :

        lPodsumuj = lFaktura.GroupBy(Function(g) New With {Key g.p1, Key g.p2}).ToList.Select(Function(group) New With {.p1 = group.Key.p1, .p2 = group.Key.p2, .p3 = group.Count(), .p4 = String.Join(",", group.Select(Function(a) a.p4))})

Niestety to samo :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1