Entwickler-Ecke
C# - Die Sprache - For-Schleife wird übersprungen
Mangafreak1995 - Di 18.05.10 22:22
Titel: For-Schleife wird übersprungen
Hey Com,
ich komm aus der VBasic-Welt in die CSharp-Welt.
Die Grundlagen sind mir alle klar (aus Openbook Galileo Visual C# 2008).
Nur jetzt nehm ich eine einfach For-Schleife und es passiert nichts.
Wenn ich jetzt mit F10 und F11 mich zur Stelle vor arbeite seh ich, dass die Schleife bemerkt wird, der Debugger aber bis ans Ende der Schleife springt.
Was ist jetzt mein Fehler ?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| public static EnumerationType[,] IntField2EnumerationType(int[,] vals, int w, int h) { EnumerationType[,] p = new EnumerationType[w,h];
for (int x = 0; x == w - 1; x++) { for (int y = 0; y == h - 1; y++) { p[x, y] = Int2Type(vals[x, y]); } }
return p; } |
die Function Int2Type gibt abhängig vom Integer einen bestimmten Wert zurück.
w und h sind im Debugger als 8 angezeigt worden.
Ich hoffe es sind ausreichend Infos da.
MfG M4n94fr34k
Moderiert von
Kha: Topic aus WinForms verschoben am Di 18.05.2010 um 23:17
Greenberet - Di 18.05.10 23:02
Die Bedingung der For Schleife ist eine "Durchführbedingung" sprich sie muss Gültig sein damit sie durchlaufen wird
Mangafreak1995 - Di 18.05.10 23:55
Entschuldige ich kann dir aber nicht ganz folgen.
Wo ist da was nicht "gültig" ?
MfG M4n94fr34k
danielf - Mi 19.05.10 07:53
Hallo und :welcome:,
er meint damit, dass x == w -1 true sein muss für die äußere Schleife und x == w - 1 für die Innere und wahrscheinlich ist sie das nicht am Anfang.
Wenn du im Debugger bist kannst du mit der Maus auf das == Zeichen gehen und der Ausdruck wird ausgewertet. Du kannst auch über variablen gehen und siehst die Werte.
Gruß
jasocul - Mi 19.05.10 08:05
Oder anders ausgedrückt:
ersetze x == w -1 durch x <= w -1
Kha - Mi 19.05.10 12:16
Oder gleich durch x < w, das dürfte die gängigste Variante sein.
Mangafreak1995 - Mi 19.05.10 13:40
Ah, jetzt weiß ich wo mein Denkfehler lag. ;)
Ich dachte der 2. "Eintrag" ist das Ziel und nicht die Bedingung, herrschen muss während des Vorganges.
@danielf: danke :) (PS: Wie du vielleicht im 1. Post von mir lesen konntest ist mir klar, dass ich während des Debuggens die Variablen einsehen kann.)
@Kha: das wäre mir glaub im Laufe auch aufgefallen, dass diese Methode einfacher ist, aber danke auch an dich, dass du mir den Hinweis sofort gegeben hast :D
MfG M4n94fr34k
euch noch ein schönen Nachmittag :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!