Recently, I was going through C# forum and I stumbled on a question.
The question goes thus: "Generate numbers from 1 to 100 without using loop statement and functions. The program can only have one entry method"?
Of course, what first came to my mind was that I will need to create a console application since I can only have one method which is the entry point.
What bothered me was that how can I generate numbers from 1..100 without using a loop?
Then jump statement came to my mind, of course, a jump statement helps to transfer control from a certain part of the program. Example of Jump statement in C# is:
- Break
 - Continue
 - Throw
 - Return
 - Goto
 
Let us take a quick look at these statements.
Break Statement
The Break Statement is used in loop or switch statement to terminate and pass program control to any statement that follows.
 
for(int i=1; i<=20;i++)
{
if(i==8)
{
break;
}
Console.WriteLine(i);
}
int a=0;
switch(a)
{
case 1:
Console.WriteLine("I am One");
break;
default:
Console.WriteLine("I am Default");
break;
}
Continue Statement
The Continue statement will pass the program control to the next iteration of a loop. 
for(int i=1; i<=20;i++)
{
if(i==8) continue;
Console.WriteLine(i);
}
Return Statement
The return statement terminates execution of the method and returns program control to where the method is been called.
 
static double TestMethod(int a)
{
double test=10*a;
return test;
}
static void Main()
{
int a=4;
double result=Testmethod(a);
Console.WriteLine(result);
}
Throw Statement
The Throw statement indicates the occurrence of exception during program execution. The program control will be transfer back to the calling method in which try-catch can be used to manage the exception.Goto Statement
The Goto statement transfer program controls directly to a label. Can be used to escape the deeply nested loop. This control is considered to be harmful and of course, too much jumping around in a program can be messy.
static int Test()
    {
        int t= 0;
        for (int i = 0; i < 11; i++)
        {
            for (int j = 0; j < 11; j++) // Run until condition.
         {
                for (int x = 0; x < 12; x++) // Run until condition.
                {
                    if (x == 5 &&
                        j == 5)
                    {
                        goto Outer
                    }
                }
                t++;
            }
        Outer:
            continue;
        }
        return t;
    }
    
Having gone through all these jump statements, let us now generate numbers between 1...100 without using loop nor functions.
The following code generates a number between 1 to 100 using if statement and goto statement.
static void Main(string[] args)
        {
            int i = 1;
            repeat:
            if (i <= 100)
            {
                Console.WriteLine(i);
                i++;
                goto repeat;
            }
            Console.Read();
        }
        
I hope the write up has helped to re-freshened your knowledge of jump statements in C#.
Thanks for your time.
C# Jump Statements
 
        Reviewed by Akintunde Toba
        on 
        
June 05, 2019
 
        Rating: 
      
 
        Reviewed by Akintunde Toba
        on 
        
June 05, 2019
 
        Rating: 


No comments: