Link to home
Start Free TrialLog in
Avatar of Tagyourareit
Tagyourareit

asked on

c# while loop ... wait till code inside is executed before next loop

Hello,

i have the following probem. I have a loop statement which calls a method but
loop is executing before code in side is finished.

Following example:

   class Program
    {
        static void Main(string[] args)
        {
            Print();
            Console.ReadLine();
        }
        
        public static void Print()
        {
			int i = 10, j = 10;

			while(1>0)
			
            {
				calculate(i,j);
				
			}
                 
        }
		
		public static int calculate(int i, int j)
		{
			int b = i * j;
			Console.WriteLine("Result: " + b);
			
			return b;
		}

    }
		

Open in new window


Since i can not post my whole project here this example should do it.

In my case what happens is While loop executes and keeps on running
while code that "calculates" doesnt get executed.

Now i was wondering is there a way to stop oop execution will function which is
inside the loo is executed?

thank you!
Avatar of ste5an
ste5an
Flag of Germany image

It's printing 100. I'm quite sure that this is the correct result of 10*10.

What do you expect?
Avatar of Tagyourareit
Tagyourareit

ASKER

You cearly didnt read my question.
i have the following probem. I have a loop statement which calls a method but
 loop is executing before code in side is finished.

This is clearly not true. Please describe what you expect.
Since i can not post my whole project here this example should do it.

In my case what happens is While loop executes and keeps on running
while code that "calculates" doesnt get executed.

Now i was wondering is there a way to stop loop execution with function which is
inside the loop is executed?
Your calculate method gets executed, otherwise you wouldn't have any output. Your loop has no terminating criteria, thus it runs for forever and prints 100.

So again: What do you expect? Why do you think, your method gets not executed?
btw, the complete code I've used already before my first answer:

namespace Console_CS
{
    using System;

    class Program
    {
        static void Main(string[] args)
        {
            Print();
            Console.WriteLine("Done.");
            Console.ReadLine();
        }

        public static void Print()
        {
            int i = 10, j = 10;
            while (1 > 0) { calculate(i, j); }
        }

        public static int calculate(int i, int j)
        {
            int b = i * j;
            Console.WriteLine("Result: " + b);
            return b;
        }
    }
}

Open in new window


and its output:

User generated image
And to make it just clear: I READ YOUR MESSAGE. MAYBE I DIDN'T UNDERSTAND IT. BUT THAT'S WHY I ASKED FOR CLARIFICATION!!!!!!!!!!!!
I agree with ste5an, whatever your problem is in the real case you have NOT reproduced it in your example code.

>>In my case what happens is While loop executes and keeps on running
while code that "calculates" doesnt get executed.

If you put a breakpoint inside the function (select a line with the cursor, press the F9 key and you should see a red dot appear to the left) and run the code.  When that line of code is reached your program will stop and you will be in the editor at that line where you can perform debugging actions.
ASKER CERTIFIED SOLUTION
Avatar of Éric Moreau
Éric Moreau
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial