Funktion für Listendurchlauf gibt keine Werte zurück

  • VB.NET

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

    Funktion für Listendurchlauf gibt keine Werte zurück

    Servus miteinander,

    ich habe zwei Funktionen in meinem Programm, die eigentlich beide das gleiche tun, nämlich eine Liste zu durchlaufen und deren Inhalt anzuzeigen. Jetzt sehen beide Funktionen vom Aufbau recht ähnlich aus, jedoch gibt die zweite gar keinen Inhalt der Liste zurück, obwohl sie mit der gleichen Arbeitsweise auf die selbe Liste zugreift. Ich habe das Gefühl, dass die Schleife in der zweiten Funktion gar nicht anläuft, habe eine Testausgabe dort eingefügt, die aber nie aufgerufen wird:

    VB.NET-Quellcode

    1. Public Function ListObjects()
    2. Console.WriteLine("Iterating Objects List.")
    3. For Each o As Object In PObjectsList
    4. Console.WriteLine(s.name)
    5. Next
    6. End Function


    nun die zweite Funktion, die eben keine Einträge auflistet:

    VB.NET-Quellcode

    1. Public Function GetListOfObjectsOfUser(UserName As String) As String
    2. Dim ListOfUsersObjects As String = ""
    3. Console.WriteLine("Iterating objects List in search for Objects owned by " & Username)
    4. For Each O As Object In PObjectsList
    5. Console.WriteLine("test123")
    6. Console.WriteLine(s.owner_nick & " owns " & s.name)
    7. If s.owner_nick = nick Then
    8. Console.WriteLine(s.owner_nick & " owns " & s.name)
    9. ListOfUsersObjects = ListOfUsersObjects & s.name & ";"
    10. End If
    11. Next
    12. Return ListOfUsersObjects
    13. End Function


    Meine Structure sieht übrigens so aus und wird dann mit Werten gefüllt:

    VB.NET-Quellcode

    1. Private ObjectsList As New List(Of Object)
    2. Private Property PObjectsList As List(Of Object)
    3. Get
    4. Return ObjectsList
    5. End Get
    6. Set(value As List(Of Object))
    7. console.WriteLine("Access denied")
    8. End Set
    9. End Property
    10. Private Structure Object
    11. Dim name As String
    12. Dim owner_nick As String
    13. End Structure


    Wie gesagt, die Liste ist mit Werten gefüllt, die ich auch klaglos von der ersten Funktion angezeigt bekomme.
    Was mache ich falsch?

    Danke für Eure Hilfe im Voraus

    Tschapajew

    Code-Tags und Unterforen beachten. Editiert. Verschoben. ~fufu

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „fufu“ ()

    @Nomen est Omen!:

    Ich würde es begrüßen, wenn du dich etwas im Ton mäßigen könntest. Außerdem magst du dir vielleicht mal Gedanken um deine Rechtschreibung machen? Meine ist jetzt auch nicht die allerbeste, aber dein Posting sieht aus, als wär dir dein Hamster über die Tastatur gelaufen.

    @Alle Anderen:

    Ihr braucht Euch keine Mühe mehr zu geben, ich habe den Fehler gefunden. In meinem Code war eine Eigenschaft nicht als Shared deklariert. Deswegen hatte sich das Programm munter immer eine neue Liste erzeugt, wenn ich meine Funktion aufgerufen hatte. Da eben besagte Eigenschaft jedoch nicht geteilt wurde, war es nur eine leere Kopie der Liste. Da können ja keine Einträge iteriert werden.
    ^^

    @Nomen est Omen! (nochmal):

    Wenn du wissen willst, an was es lag, dann darfst du auch gern den nicht explizit für dich bestimmten Teil lesen.

    Lieben Gruß

    Tschapajew
    hmm - und magst du vlt. auch inhaltlich auf meinen Post eingehen?
    Hast du ins von mir angebotene Tutorial denn mal reingeguckt, insbesondere ins Video, und hat's dir vlt. was gebracht?
    Oder lässt du dich tatsächlich von (vermeintlichen) "Tönen", und "Rechtschreibungen" (wer bestimmt da eigentlich, was "Recht" ist?) abhalten, von derlei Offerten zumindest Notiz zu nehmen?