Функция – это метод имеющий возвращаемое значение, процедура – это метод который ничего не возвращает, его возвращаемое значения типа void
(пустота).
Как видно из выше приведённого рисунка метод будет считаться:
- функцией, если он что-то возвращает и при этом он как может принимать параметры, так и не принимать ничего
- процедурой, если он ничего не возвращает и при этом он может как принимать параметры, так и не принимать их.
Все методы в C# технически являются функциями, но логически методы, которые возвращают – void
(пустоту, то есть ничего), являются процедурами.
В некоторых языках программирования (например, в Паскале) функции и процедуры (подпрограммы, не возвращающие значения) чётко разграничены синтаксисом языка. В языке С# процедуры являются частным случаем (подмножеством) функций, возвращающими значение типа void
— пустое значение.
Источник: видеоурок Александра Шевчука "МЕТОДЫ"