Problem mit Func(Of TResult) Delegaten (oder so ähnlich)

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Problem mit Func(Of TResult) Delegaten (oder so ähnlich)

    Hallo zusammen,

    ich habe hier gerade ein kleines Syntax-(oder Verständnis-)Problem.

    VB.NET-Quellcode

    1. Public Structure MaschInfo
    2. Dim ID As Byte
    3. Dim Alarm As String
    4. Dim Info As String
    5. Dim Bild As String
    6. Dim Pcurr As Double
    7. Dim TS As String
    8. Dim Timeline As String
    9. End Structure
    10. Dim Daten As MaschInfo()
    11. Private Sub Test()
    12. Dim MaschNr As Integer = 2
    13. Dim DatPos As MaschInfo = Daten.First(Daten.ID >= Daten.ID = MaschNr)
    14. End Sub


    Ich hoffe man erkennt was ich möchte - aus dem Array "Daten" das erste Element wo ID = MaschNr ist.

    Wenn ich das so schreibe wie angegeben bringt er mir den Fehler dass "ID kein Member von MaschInfo ist" - ist es aber doch lt.Deklaration - hä?????

    Wie muss ich denn das richtig machen?? Sorry - die Sache mit diesen Delegaten hab ich leider noch nicht wirklich verinnerlicht ;)
    Sieht mit nach dem Versuch aus, C#-Code zu VB.NET zu konvertieren.
    Stichwort LINQ:

    VB.NET-Quellcode

    1. Dim DatPos As MaschInfo = Daten.First(Function(x) Daten.ID = MaschNr)
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VaporiZed schrieb:

    Sieht mit nach dem Versuch aus, C#-Code zu VB.NET zu konvertieren.

    Das trifft zumindest einen Teil der Sache :) Der andere Teil ist dass ich die Geschichte endlich mal selbständig anwenden und nicht nur abkupfern können möchte.

    Dein Vorschlag war's übrigens noch nicht ganz - so hier klappt's

    VB.NET-Quellcode

    1. Dim DatPos As MaschInfo = Daten.First(Function(x) x.ID = MaschNr)


    (Ansatzweise hab ich's vielleicht doch schon verstanden ;-))
    Klar, das x muss natürlich in den Ausdruck :S
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.