Frage von Wissididom, 36

Wie kann ich verhinden, dass ein For-Schleife abgebrochen wird?

Ich habe eine For-Schleife, die Informationen sammelt, und diese dem Konstruktor einer neuen Klasse übergibt und diese in eine List(Of Klasse) schreibt. Mein Problem ist nun, dass die For-Schleife nachdem der erste Eintrag zur Liste hinzugefügt wurde, nicht mehr weiter ausgeführt wird und die Funktion nicht zum Return lst.ToArray kommt.

Ich hoffe mein Problem ist verständlich

Mein Code: http://www.mediafire.com/file/59p01yw99vexgiu/Programmcode.txt

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von regex9, Community-Experte für Programmierung, 21

Wieso sollte die Funktion nicht bis zum return kommen? Das kann doch nur im Falle einer Exception auftreten. Vorzeitig springst du ja auch nicht raus.

Im Übrigen musst du schauen, was dir

json.Split({vbCrLf}, StringSplitOptions.RemoveEmptyEntries)

zurückgibt. Möglicherweise ist es auch nur ein Eintrag, der durchlaufen werden kann. Nutze dafür einen Debugger.

Kommentar von Wissididom ,

Ich habe einen Debugger benutzt und jede der If-Abfragen wird einmal durchlaufen. In der Liste ist auch ein Eintrag (aber nur einer)

Ich könnte auch die Eingangs-Json mal posten

Kommentar von regex9 ,

Ja, dann ist es doch logisch, wieso die Schleife nach dem ersten Durchlauf beendet ist. Der return value wird dennoch zurückgegeben.

Wenn dein JSON-Objekt eigentlich mehr Einträge umfassen sollte, wird wohl das JSON-Objekt falsch gebaut / ist invalid. 

Kommentar von Wissididom ,

Ich habe einen Breakpoint bei dem Return statement gemacht und die Anwendung wurde nicht pausiert und die Variablen wurden nicht angezeigt

Kommentar von Wissididom ,

PS: wieso logisch

Kommentar von regex9 ,
  1. Einen Breakpoint bei einem return-Statement zu setzen, ist auch keine gute Wahl, denn vor der Rückgabe des Wertes gibt es keinen sichtbaren Zwischenschritt. Setze den Breakpoint an der Stelle, wo du das Ergebnis der Methode auffängst, bzw. die Methode überhaupt aufrufst.
  2. Wenn eine Schleife nur bis 1 laufen soll, wird sie das auch tun.
Kommentar von Wissididom ,

Ich habe das jetzt behoben indem ich Newtonsoft.Json verwendet habe

Antwort
von sireles, 21

Alter, kannst du denn code nicht einzeln hoch laden xd

Kommentar von Wissididom ,

Was meinst du mit einzeln hochladen, außerdem ist das nur der Teil, der Fehlerhaft sein könnte (sonst wären es 682 Zeilen)

Kommentar von W00dp3ckr ,

Pastebin wäre gut.

Kommentar von Wissididom ,

Keine passende Antwort gefunden?

Fragen Sie die Community