Forums Neueste Beiträge
 

Problem mit Programmablauf

18/07/2008 - 10:42 von dutzend | Report spam
Hallo NG,

wir haben folgendes Problem beim Programmablauf mit C# in Visual
Studio 2008:

Zwei Methoden (hier A und B).
A ruft B auf.
In B befindet sich eine Bedingung ist diese FALSE wird A wieder
aufgerufen.
Das passiert solange bis die Bedingung TRUE ist (dieser Fall tritt
auch ein).
Jetzt das Merkwürdige: Am Ende von Methode A wird jetzt der
Methodenaufruf von A in B wieder direkt angesprungen.

1 Methode A {
2 Methode B
3 }
4
5 Methode B {
6 ...
7 irgendwelcher Code (der die Bedingung beinflusst)
8 ...
9 Bedindung == FALSE
10 ...
11 irgendwelcher Code
12 ...
13 Methode A
14 }

Wird durch B TRUE ermittelt, erfolgt von Zeile 3 ein direkter Sprung
in Zeile 13 ohne den Code
in Zeilen 9 bis 12 auszuführen.
Wird sofort TRUE ermittelt tritt das Problem nicht auf.

Wer kann dass erklàren?

Danke René Tuchscherer
 

Lesen sie die antworten

#1 Udo Nesshoever
18/07/2008 - 10:56 | Warnen spam
original message ==from: dutzend
date: 18.07.2008 10:42

Hallo NG,

wir haben folgendes Problem beim Programmablauf mit C# in Visual
Studio 2008:

Zwei Methoden (hier A und B).
A ruft B auf.
In B befindet sich eine Bedingung ist diese FALSE wird A wieder
aufgerufen.
Das passiert solange bis die Bedingung TRUE ist (dieser Fall tritt
auch ein).
Jetzt das Merkwürdige: Am Ende von Methode A wird jetzt der
Methodenaufruf von A in B wieder direkt angesprungen.

1 Methode A {
2 Methode B
3 }
4
5 Methode B {
6 ...
7 irgendwelcher Code (der die Bedingung beinflusst)
8 ...
9 Bedindung == FALSE
10 ...
11 irgendwelcher Code
12 ...
13 Methode A
14 }

Wird durch B TRUE ermittelt, erfolgt von Zeile 3 ein direkter Sprung
in Zeile 13 ohne den Code
in Zeilen 9 bis 12 auszuführen.
Wird sofort TRUE ermittelt tritt das Problem nicht auf.



Ich wuerde sagen, die Zeile wird zwar farblich markiert, aber letztlich
springt dein Programm dahin zurueck (Stickwort CallStack) um dann in der
Zeile darunter weiter zu machen.
Mal dir den Programmlauf mit Werten mal aufm Papier auf und du wirst
sehen, du hast hier ne verschachtelte Rekursion.


Cheers,
Udo

Ähnliche fragen