jueves, 23 de marzo de 2017

104. C# 7.0 Local Functions

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;           
        }


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 suma(int i,int 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



No hay comentarios.:

Publicar un comentario