What is the use of goto statement in C#

The goto statement in C# provides a way to transfer control to a labeled statement within the same method or block of code. It allows for an unconditional jump to a specific point in the code execution. However, the use of the goto statement is generally discouraged and considered poor practice in most scenarios.

The goto statement can be used to create loops, jump out of nested loops or switch statements, and handle certain error or exceptional conditions. However, excessive use of goto can lead to code that is difficult to understand, maintain, and debug. It can result in spaghetti code and make the control flow non-linear, making it harder to reason about the program's behavior.

Structured statements

It is recommended to use structured control flow statements like loops (for, while, do-while) and conditional statements (if-else, switch) to handle control flow in a more organized and readable manner. These structured statements provide better control over program flow and can help avoid the need for goto statements.

In rare cases, such as low-level programming or working with legacy code, the goto statement may be used sparingly for specific purposes. However, it should be used wisely, with clear and well-documented intentions, to minimize the negative impact on code readability and maintainability.


While the goto statement can be used to transfer control to a labeled statement, it is generally recommended to avoid its use in modern programming practices. Structured control flow statements provide a more readable and maintainable approach to handling program flow in most scenarios.