Funciones locales, esta nueva característica de C# 7.0 también es muy interesante, por que nos permite crear funciones dentro de una función, preguntaran ¿Para que quiero hacer esto?, simplemente nos da una nueva forma de organización, que nos permite reducir el acceso a ciertas partes del código.
Una aplicación seguridad, reduciendo el acceso a una función solo para la función que la ocupa.
Bueno veamos un ejemplo:
Creemos una función que necesita ser llamada múltiples veces en un mismo fragmento de código
static int SumaEspecial(int x)
{
int a = 0;
for (int i = 0; i < 100; i++)
{
a = x + a;
}
return a;
}
Como podemos ver, se ha creado una función dentro de otra, para efectuar esa característica compleja que solo estará disponible para esta función.
Una aplicación seguridad, reduciendo el acceso a una función solo para la función que la ocupa.
Bueno veamos un ejemplo:
Creemos una función que necesita ser llamada múltiples veces en un mismo fragmento de código
static int SumaEspecial(int x)
{
int a = 0;
for (int i = 0; i < 100; i++)
{
a = x + a;
}
return a;
}
Podemos observar que la función suma especial esta haciendo un ciclo y este ciclo efectúa una actividad compleja, ahora por orden podemos agrupar esa actividad compleja en una función local.
Las funciones locales las escribimos dentro de la misma función, pero después del ultimo return, asi podemos sustituir la función por lo siguiente:
static int SumaEspecial(int x)
{
int a = 0;
for (int i = 0; i < 100; i++)
{
a = suma(x, a);
}
return a;
{
int a = 0;
for (int i = 0; i < 100; i++)
{
a = suma(x, a);
}
return a;
int suma(int i,int y)
{
return i + y;
}
}
{
return i + y;
}
}
Como podemos ver, se ha creado una función dentro de otra, para efectuar esa característica compleja que solo estará disponible para esta función.
Ejecutando la aplicación
Felices Lineas