Глоссарий

ref - ключевое слово ref, используемое для передачи параметров в методы. Позволяет передавать аргумент (параметр) по ссылке, а не по значению. Если мы передаем параметр по ссылке, то этот параметр (переменную) можно изменить внутри метода. Более подробную информацию по модификатору ref можно получить в статье "Ключевые слова in, out и ref в методах C#"
Рекурсия - Рекурсия в программировании - это вызов методом самого себя. Наиболее часто встречающийся пример использования рекурсии - вычисление факториала числа. Зачастую код с использованием рекурсии выглядит более элегантно и коротко, чем без неё, однако использование рекурсии может быть потенциально опасно в силу возможности ситуации переполнения стека