In C#, the goto statement transfers control to some other part of the program. For example,
goto label;
... 
...
label:
  ...
  ...
Here, label is an identifier. When goto label; is encountered, the control of the program is transferred to label:. Then the code below label: is executed.
	Example: C# goto
using System;
namespace CSharpGoto {
  class Program {
    public static void Main(string[] args) {
      
      // label
      repeat: 
        Console.WriteLine("Enter a number less than 10");
        int num = Convert.ToInt32(Console.ReadLine());  
        if(num >= 10) {
          // transfers control to repeat
          goto repeat;
        }
        Console.WriteLine(num + " is less than 10");
        Console.ReadLine();
    }
  }
}
Output
Enter a number less than 10 99 Enter a number less than 10 9 9 is less than 10
In the above program, we have a goto statement inside the if statement.
If the entered number is not less than 10, goto repeat: transfers the control of the code to repeat:. Then, the code below repeat: is executed.
The control of code will be transferred to the repeat: label unless the entered number is less than 10.
C# goto with switch statement
In C#, we can use goto with a switch statement to transfer control of a program to a specific case. For example,
using System;
namespace CSharpGoto {
  class Program {
    public static void Main(string[] args) {
      Console.Write("Choose your coffee? milk or black: ");
      string coffeeType = Console.ReadLine();
      switch (coffeeType) {
        case "milk":
          Console.WriteLine("Can I have a milk coffee?");
          break;
        case "black":
          Console.WriteLine("Can I have a black coffee?");
          // transfer code to case "milk" 
          goto case "milk";
     
        default:
          Console.WriteLine("Not available.");
            break;
        }
      Console.ReadLine();
    }
  }
}
Output
Can I have a black coffee? Can I have a milk coffee?
In the above program, we have used the goto statement with a switch statement.
We have entered "black" as the coffeeType. Now the case "black" is executed.
Inside the case, we have used goto case "milk"; which will transfer the control of the program to the case "milk". 
Hence, both cases are executed.
goto with for Loop
In C#, we can use goto to break out of a for loop. For example,
using System;
namespace CSharpGoto {
  class Program {
    static void Main() {
    for(int i = 0; i <= 10; i++) {
      if(i == 5) {
        // transfers control to End label
        goto End;
      }
      Console.WriteLine(i);
    }
    // End label
    End:
      Console.WriteLine("Loop End");
      Console.ReadLine();
    }
  }
}
Output
0 1 2 3 4 Loop End
In the above program, we have created a for loop. It iterates from 0 to 100.
Whenever the value of i equals 5, the goto statement transfers the control of code to the End label. Hence, the program breaks out of the for loop.