Labels and GOTO
s are considered bad practice and as far as I know there is no reason to use it in C#.
What is the use of labels in C#?
I read somewhere, goto in most cases should just be use for jumping forward, so most likely just for early loop terminations and for continuing the outer loop since there are no labeled loops in C# (unlike Java). And there are some algorithms that can be elegantly expressed with goto than doing it the structured way.