Programación recursiva fácil explicada con 3 ejemplos, C# .Net, recorrido arreglos, suma, dibujar árbol

En este video te enseñare como se programa recursivamente, te mostrare 3 ejemplos con los cuales comprenderás esta forma de programar rápidamente.

Código fuente


using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Recursividad
{
    class Program
    {
        static void Main(string[] args)
        {
            //ejemplo 1: recorrer un arreglo
            int[] arregloDeEnteros = new int[] { 2,1,1,1,1,1,2};
            Recorrer(arregloDeEnteros);

            //ejemplo 2: sumar elementos de un arreglo
            int total = Sumar(arregloDeEnteros);

            //ejemplo 3: pintar un arbolito
            Bitmap bmp = new Bitmap(100,100);
            Pintar(bmp,bmp.Width/2,20);

            string path = @"C:\Users\Bioxor\source\repos\Recursividad\Recursividad\arbolito.jpg";
            bmp.Save(path,ImageFormat.Bmp);
        }

        static void Pintar(Bitmap bmp,int x, int n,int y=0)
        {
            if (y < n)
            {
                bmp.SetPixel(x, y, Color.Red);
                Pintar(bmp,x+1,n,y+1);
                Pintar(bmp,x-1,n,y+1);
            }
        }

        static int Sumar(int []arreglo,int posicion=0)
        {
            if (posicion == arreglo.Length)
                return 0;

            return arreglo[posicion] + Sumar(arreglo, posicion+1);
        }

        static void Recorrer(int [] arreglo,int posicion=0)
        {
            if (posicion == arreglo.Length)
                return;

            Console.WriteLine(arreglo[posicion]);
            Recorrer(arreglo,posicion+1);
        }

     

    }
}