Café y Código

8. Funciones (Métodos)

Modularizando el caos

A medida que tu programa crece, no puedes poner todo el código dentro de Main(). Las funciones (también llamadas métodos en C#) te permiten empaquetar un bloque de código, ponerle nombre y reutilizarlo cuantas veces quieras. Un método tiene:

  • Firma/Nombre: Cómo se llama.
  • Parámetros: Los datos que recibe para trabajar (opcional).
  • Retorno: Lo que devuelve al terminar (puede devolver nada, en cuyo caso usamos void).

Métodos que NO devuelven datos (`void`)

Los métodos void simplemente ejecutan una acción, como imprimir un menú en pantalla, pero no te devuelven cálculos que puedas guardar en variables.

Método Void con parámetros
CSHARP
1 class Program
2 {
3 // Definimos el método
4 static void MostrarSaludoEnPantalla(string nombre)
5 {
6 Console.WriteLine($"¡Hola, bienvenido {nombre} a nuestro sistema!");
7 }
8
9 static void Main()
10 {
11 // Lo llamamos (invocación)
12 MostrarSaludoEnPantalla("María");
13 }
14 }

Métodos que sí devuelven datos

Si el método necesita devolver un resultado, debes cambiar la palabra `void` por el tipo de dato que devuelve (por ejemplo, `int`). Dentro del bloque, es obligatorio usar la instrucción return.

Funciones con Return
CSHARP
1 class Program
2 {
3 // Definimos un método que suma dos enteros y devuelve un entero
4 static int SumarNumeros(int numA, int numB)
5 {
6 int resultado = numA + numB;
7 return resultado;
8 // Todo lo que esté después del return es ignorado
9 }
10
11 static void Main()
12 {
13 // Invocamos y guardamos el resultado
14 int total = SumarNumeros(5, 7);
15 Console.WriteLine($"El total es {total}"); // Imprime 12
16 }
17 }

👨‍💻 Ejercicio Práctico

Misión: Detector de Paridad

Crea un método estático llamado EsPar que reciba un entero (int num) y devuelva un bool (true si es par, false si es impar). Pruébalo en tu Main.

👁️ Ver solución propuesta
CSHARP
1 class Program
2 {
3 static bool EsPar(int num)
4 {
5 // Si el residuo de dividir por 2 es 0, es par
6 return num % 2 == 0;
7 }
8
9 static void Main()
10 {
11 bool resultado = EsPar(10);
12 Console.WriteLine($"¿10 es par?: {resultado}");
13 }
14 }

👨‍💻 Ejercicio Práctico 2

Misión: Un método para saludar

Crea un método static void Saludar() que imprima un saludo. Invócalo desde el Main.

👁️ Ver solución propuesta
CSHARP
1 static void Saludar()
2 {
3 Console.WriteLine("¡Saludos desde mi función!");
4 }
5
6 static void Main()
7 {
8 Saludar();
9 }

👨‍💻 Ejercicio Práctico 3

Misión: Cálculo de Área

Escribe un método double CalcularArea() que reciba la base y altura (doubles), y retorne la multiplicación de ambos (área del rectángulo).

👁️ Ver solución propuesta
CSHARP
1 static double CalcularArea(double bas, double alt)
2 {
3 return bas * alt;
4 }
5
6 static void Main()
7 {
8 Console.WriteLine(CalcularArea(5.0, 10.0));
9 }

👨‍💻 Ejercicio Práctico 4

Misión: Un retorno matemático

Haz que una función reciba dos números, los sume y los retorne. En Main, guarda ese retorno en una variable e imprímelo.

👁️ Ver solución propuesta
CSHARP
1 static int Sumar(int a, int b)
2 {
3 return a + b;
4 }
5
6 static void Main()
7 {
8 int total = Sumar(7, 3);
9 Console.WriteLine($"7 + 3 es {total}");
10 }

Ponte a prueba

Comprueba tus conocimientos sobre este tema realizando nuestro pequeño test.

Dato curioso: Microsoft lo presentó en 2000; C# 1.0 con .NET en 2002 (Anders Hejlsberg). Wikipedia

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.