TOC

This article has been localized into Spanish by the community.

The Basics:

Funciones

Una función permite encapsular una parte del código y llamarlo desde otros sitios en su código. Podrías estar muy pronto en una situación en la cual necesites repetir la misma pieza de código, en varios lugares, y aquí es donde usamos las funciones. En C# se declaran básicamente así:

<visibility> <return type> <name>(<parameters>)
{
<function code>
}

Para llamar a una función, simplemente escriba su nombre y abra paréntesis, luego los parámetros, si hubiera alguno, y cierre el paréntesis, así:

DoStuff();

Aquí tenemos un ejemplo de nuestra función DoStuff():

public void DoStuff()
{
    Console.WriteLine("I'm doing something...");
}

La primera parte, pública, es la visibilidad y es opcional. Si no es definida la función entonces será privada (private). Más adelante se hablará sobre el tema. Luego el el tipo de respuesta/tipo que regresará (bool / int / etc). Podria ser cualquier respuesta/tipo válido en C#, o como ya lo hicimos aqui, void(no retorna nada). Void significa que esta funcion no regresa o tiene como respuesta absolutamente nada. Igual, esta funcion carece de parametros, como se observa del vacio entre parentesis, lo cual está siento un poco aburrido, cambiemos eso.

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    return result;
}

Hemos cambiado casi todo. La funcion regresa ahora con respuesta, como integrada, ella tiene dos parametros (ambos con respuessta), y en lugar de una especifica respuesta, hace un calculo y regresa un resultado. Esto significa que podemos sumar 2 numeros de varios lugares en nuestro codigo, s8implemente llamando esta funcion, en lugar de escribir el codigo para la operacion matematica cada que lo necesitemos. Si salvamos tiempo y esfuerzo con ejemplos como el anterior entonces mientras mas utilices C# mas amaras las funciones . Esta funcion se llama de la siguiente manera:

int result = AddNumbers(10, 5);
Console.WriteLine(result);

Como fue mencionado, esta funcion ahora regresa algo, y asi es porque nosotros dijimos en C# que lo hiciera. Cuando la funcion declara algo mas que vacio como tipo de retorno, nosotros nos estamos forzando a retornar algo. Puedes tratar removiendo la linea retorno del ejemplo de arriba y veras al compilador reclamar

'AddNumbers(int, int)': no todas las rutas de código devuelven un valor

El compilador nos esta recordando que tenemos una función que no devuelve algo, aunque la hicimos. Y el compilador es muy inteligente! En vez de remover la linea, intente algo como esto:

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    if(result > 10)
    {
return result;
    }
}

'AddNumber(int, int)': No todos los senderos del codigo regresan un valor El compilador esta recordandonos que nosotros tenemos una funcion que no regresa nada o no resulta en nada aunque lo prometimos. Y el compilador es bien inteligente!. En lugar de remover la linea, trata algo como esto:

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    if(result > 10)
    {
return result;
    }
    return 0;
}

Esto arreglara el problema que creamos y mostrara que podemos tener mas de una respuesta para nuestra funcion. Tan pronto como una respuesta es alcanzada, la funcion no se usa y ningun codigo adicional es ejecutado. En este caso, significa que tan pronto como el resultado es superior a 10 la respuesta "0" no se logra

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!