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 38 / 68

Acelerar cálculos con memoización

En esta lección guardarás resultados ya calculados para no repetir el trabajo.

Se lleva un Dictionary(Of Integer, Integer) donde la clave es la entrada y el valor el resultado. ContainsKey comprueba si ya está.

El código de ejemplo llama dos veces con el mismo valor, y los mensajes dejan ver cuándo calcula y cuándo recuerda.

Fíjate en cache(n) = result: en VB el acceso a un diccionario usa paréntesis, igual que un array y que una llamada a función. Esa uniformidad es cómoda de escribir y hace que al leer haga falta saber qué es cada nombre.

Hay una diferencia con los arrays que conviene tener clara: leer cache(n) con una clave que no existe lanza una excepción. Por eso el ContainsKey previo. La alternativa en una sola pasada es TryGetValue, que consulta y devuelve el valor a la vez — con muchos accesos, evita buscar dos veces.

Dos cosas que vigilar: una caché que nunca se vacía crece sin límite, y si el resultado depende de algo que puede cambiar, el valor guardado se queda obsoleto. En aplicaciones web, .NET ofrece MemoryCache con caducidad y límite de tamaño.

📖 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)