Métodos en C# con void y return

Resumen

Aprender a usar métodos en C# te permite encapsular lógica, reutilizar código y construir aplicaciones más limpias como una calculadora con operaciones independientes. Aquí verás cómo declarar un método, pasarle argumentos y devolver valores con return, partiendo de lo que ya conoces de Console.WriteLine y Console.ReadLine.

¿Qué es un método en C# y por qué usarlo?

Un método es un bloque de código con nombre que ejecuta una tarea específica y puede recibir datos para trabajar con ellos. Ya has usado varios sin notarlo: Console.WriteLine para imprimir en consola, Console.ReadLine para leer entradas del usuario, o el método Add para agregar elementos a una lista. Todos vienen predefinidos dentro de clases como Console o List.

La idea ahora es que tú crees los tuyos. Y aquí viene lo interesante: cuando defines un método propio, puedes llamarlo cuantas veces quieras con distintos valores, sin repetir lógica.

¿Qué es un método en programación? Es una función con nombre que agrupa instrucciones reutilizables. Recibe argumentos, ejecuta una tarea y, opcionalmente, devuelve un valor.

¿Cómo se declara un método con void en C#?

La sintaxis básica empieza con una palabra reservada que indica qué devuelve el método. Si usas void, el método ejecuta algo pero no regresa ningún valor.

Imagina que creas un proyecto llamado Calculadora con dotnet new y dentro defines tu primer método:

csharp void Suma(int numeroUno, int numeroDos) { Console.WriteLine($"La suma de {numeroUno} más {numeroDos} es {numeroUno + numeroDos}"); }

Los parámetros van entre paréntesis: dos enteros, numeroUno y numeroDos. Dentro del método los puedes usar libremente. Para ejecutarlo, basta con llamarlo así:

csharp Suma(5, 10);

Al correr dotnet run, la consola muestra: La suma de 5 más 10 es 15.

¿Qué significa la palabra reservada void?

Void se traduce literalmente como vacío. Le dice al compilador que el método va a ejecutar una funcionalidad pero no va a devolver ningún dato que puedas asignar a una variable. Es perfecto cuando solo necesitas que algo ocurra, como imprimir en pantalla.

¿Cómo devolver un valor desde un método con return?

Ahora supón que quieres guardar el resultado de la suma en una variable para usarlo después. Ahí void se queda corto. Necesitas cambiar el tipo de retorno al tipo de dato que vas a devolver, en este caso int.

csharp int Suma(int numeroUno, int numeroDos) { int resultado = numeroUno + numeroDos; return resultado; }

La palabra clave return envía el valor de vuelta a quien llamó al método. Así puedes hacer:

csharp int numeroResultado = Suma(5, 10); Console.WriteLine($"El resultado de la suma es {numeroResultado}");

Guardar el cálculo en una variable intermedia como resultado antes de retornarla hace el código más legible que escribir return numeroUno + numeroDos directamente. Es cuestión de estilo, pero ayuda cuando los métodos crecen.

¿Cuándo uso void y cuándo un tipo de retorno? Usa void si el método solo ejecuta una acción, como imprimir. Usa int, string u otro tipo cuando necesites el resultado fuera del método.

¿Dónde conviene mostrar el resultado?

Tienes dos caminos válidos. Puedes imprimir el texto dentro del método, dejándolo autocontenido. O puedes devolver solo el número y dejar que quien llame al método decida cómo presentarlo. La segunda opción es más flexible, porque ese mismo método sirve para imprimir, guardar en base de datos o usar el resultado en otra operación.

¿Cómo practicar métodos con resta, multiplicación y división?

Una vez que dominas la suma, el siguiente paso es replicar la lógica para las demás operaciones aritméticas. La estructura es idéntica, solo cambias el operador.

  • Crea un método Resta que reciba dos enteros y devuelva la diferencia.
  • Crea un método Multiplicacion que regrese el producto de los dos parámetros.
  • Crea un método Division que devuelva el cociente, pero con una validación extra.

En división aparece una trampa clásica: dividir entre cero lanza una excepción en tiempo de ejecución. Antes de hacer la operación, valida con un if el segundo parámetro:

csharp int Division(int numeroUno, int numeroDos) { if (numeroDos == 0) { Console.WriteLine("No se puede dividir entre cero"); return 0; } return numeroUno / numeroDos; }

Este pequeño control evita que tu programa se caiga y le da retroalimentación clara al usuario. Es una de esas prácticas que separan el código que funciona del código que es robusto.

Intenta armar tu calculadora completa con los cuatro métodos y cuéntame en los comentarios cómo te fue, qué decisiones tomaste sobre dónde imprimir y si le agregaste validaciones extra.