Lamda Expressions und Expression Trees mit VB.Net

Also ich hab’s ja nicht so sehr damit, aber die folgenden Links haben mir zumindest nicht zuletzt anhand der Beispiele weitergeholfen, etwas in die Materie einzutauchen:

Also das könnte in VB.Net dann z.B. wie folgt aussehen:

query = query.Where(Function(c)c.ContactFirstname.Contains("Blacklisted"))

Und das ist mein Beispiel, damit ich’s auch mal hingekriegt habe:

Public Class xxx

Private m_xId As Short
Public ReadOnly Property xId() As Short
Get
Return m_xId
End Get
End Property

Private m_xGroupNr As Integer
Public ReadOnly Property xGroupNr() As Integer
Get
Return m_xGroupNr
End Get
End Property

Private m_xBetrag As Decimal
Public ReadOnly Property xBetrag() As Decimal
Get
Return m_xBetrag
End Get
End Property

Public Sub New( _
ByVal _xId As Short _
, ByVal _xGroupNr As Integer _
, ByVal _xBetrag As Double _
)
MyBase.new()
m_xId = _xId
m_xGroupNr = _xGroupNr
m_xBetrag = _xBetrag
End Sub

End Class

...
Dim xxxList As New List(Of xxx)
xxxList.Add(New xxx(1, 10, 100))
xxxList.Add(New xxx(2, 10, 200))
xxxList.Add(New xxx(3, 20, 400))
xxxList.Add(New xxx(4, 20, 500))

Dim xQuery = From x In xxxList _
Select x

Dim xQueryG = From x In xxxList _
Group x By x.xGroupNr _
Into Group _
Select _
xGroupNr _
, BetragSum = Group.Sum(Function(x) x.xBetrag)

Dim xQueryG2 = From x In xxxList _
Group x By x.xGroupNr _
Into Group _
Select _
New xxx( _
_xId:=0 _
, _xGroupNr:=xGroupNr _
, _xBetrag:=Group.Sum(Function(x) x.xBetrag) _
)

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s


%d Bloggern gefällt das: