AD

¿Ya dominas lo básico? Un curso estructurado de VB.NET es la vía rápida para dar el salto.

Ver cursos de VB.NET en Udemy

Enlace de afiliado. No te cuesta nada extra.

🔷Lecciones de VB.NET
Lección 12 / 68

Funciones recursivas

En esta lección escribirás una función que se llama a sí misma.

Hacen falta dos piezas: un caso base que corta la cadena, y una llamada a sí misma con un problema más pequeño.

El código de ejemplo calcula el factorial. El caso base es n <= 1.

Sin caso base, el programa se detiene con StackOverflowException. Conviene saber que en .NET esa excepción no se puede capturar: el proceso termina sin más. Es de las pocas situaciones en que un Try no sirve de nada.

Hay un límite de tipos que sorprende: Integer son 32 bits, así que el factorial de 13 ya se sale. Y aquí VB.NET se comporta distinto de C#: por omisión comprueba el desbordamiento y lanza una excepción en lugar de dar la vuelta en silencio. Es una decisión coherente con un lenguaje pensado para aplicaciones de gestión, donde un total equivocado es peor que un fallo visible. Para números grandes está Long o System.Numerics.BigInteger.

La recursión brilla en lo que es recursivo por naturaleza: recorrer carpetas, un XML anidado, un árbol de categorías.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar VB.NET directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)