Цикл for всегда можно заменить рекурсивной функцией, которая не предполагает использование цикла. Рекурсивная функция - более функциональный стиль программирования.
Но если вы слепо замените петли рекурсивными функциями, то и котята, и щенки умрут миллионами, и вас заменит врач.
ОК, вот пример. Но имейте в виду, что я не сторонник внесения этих изменений!
Цикл для
for (int index = 0; index < args.Length; ++index)
Console.WriteLine(args[index]);
Может быть изменено на этот рекурсивный вызов функции
WriteValuesToTheConsole(args, 0);
static void WriteValuesToTheConsole<T>(T[] values, int startingIndex)
{
if (startingIndex < values.Length)
{
Console.WriteLine(values[startingIndex]);
WriteValuesToTheConsole<T>(values, startingIndex + 1);
}
}
Это должно работать точно так же для большинства значений, но оно гораздо менее понятно, менее эффективно и может исчерпать стек, если массив слишком большой.