Функция типа void

121
10 сентября 2019, 05:40

Может ли быть рекурсивной функция типа void?

Answer 1

Функция типа void -это функция, которая не возвращает значения, вот и все.

Рекурсия - это вызов функцией себя же, и с каждым разом на определенном этапе

То, что функция является void , еще не забирает у нее всех остальных свойств , присущих функциям, поэтому ответ - Да, может

Answer 2

Вы, наверное, прекращаете рекурсию снаружи? Я же обычно в самой рекурсивной функции. Вернуть значение, если оно требуются снаружи, а это не обязательно, проще всего через аргумент типа out, в C# можно ещё ref, в С++ в содержимом по переданному указателю (как в WinAPI).

Answer 3

Я попробую дать обьяснение без слов в примере:

Factorial(10,0,1);
public void Factorial(int max, ref int number, ref int value)
{
    number++;
    if(number>=max)
        return;
    value*=number;
    Factorial(max, number, value);
}

код писал из головы не проверяя, так что могли закрастся ошибки.

Но условие выполнено -- метод возвращает void. :)

как видишь, все быть может.

READ ALSO
Как можно кэшировать данные в Xamarin Forms PCL

Как можно кэшировать данные в Xamarin Forms PCL

Подскажите есть ли какой либо способ кэшировать данные приходящие от сервера в проекте Xamarin Forms PCL?

120
Как получить ID текущей страницы из URL?

Как получить ID текущей страницы из URL?

Движок - DLEКак получить ID текущей страницы?

121
cURL сессия, и передача токена в заголовках

cURL сессия, и передача токена в заголовках

собственно что именно делаю, есть страница, с которой нужно получить некоторую информацию, все бы было хорошо, но часть контента подгружается...

133