goto в операторе switch уже обсуждалось.
Второй вариант использования этого оператора непосредственно тело метода.
Объявляется метка (правильнее, оператор с меткой). Оператор может быть пустым. Метка – идентификатор отделяется от оператора двоеточием. В качестве дополнительного разделителя могут быть использованы пробелы, символы табуляции и перехода на новую строку. Метка, как и любое другое имя, подчиняется правилам областей видимости. Она видна в теле метода только в одном направлении: из внутренних (вложенных) блоков. Поэтому оператор перехода
goto ИмяПомеченногоОператора;
позволяет ВЫХОДИТЬ из блоков, но не входить в них.
Вообще, об этом операторе всегда говорится очень много нехороших слов и его описание сопровождается рекомендациями к его НЕИСПОЛЬЗОВАНИЮ.
Операторы
break;
и
continue;
используются как вспомогательные средства управления в операторах цикла.
Методы
В C# методы определяются в рамках объявления класса. Методы (функции) являются членами класса и определяют функциональность объектов-членов класса (нестатические методы – методы объектов), и непосредственно функциональность самого класса (статические методы - методы класса) класса.
Метод может быть объявлен и метод может быть вызван. Поэтому различают объявление метода (метод объявляется в классе), вызов метода (выражение вызова метода располагается в теле метода).
Различают статические (со спецификатором static) и нестатические методы (объявляются без спецификатора).
Статические методы вызываются от имени класса, в котором они были объявлены. Считается, что статические методы определяют функциональность класса, а нестатические методы определяют поведение конкретных объектов-представителей класса и потому вызываются от имени (ссылки) объекта-представителя класса, содержащего объявление вызываемого метода.