Métodos en C#

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

Son funciones aplicadas a objetos.

Una función es un subprograma que realiza una tarea específica y devuelve un valor

Métodos para trabajo con cadenas

string nombre = "Rodolfo";
Console.WriteLine(nombre.Substring(0, 3));
Console.WriteLine(nombre.IndexOf('d'));
Console.WriteLine(nombre.ToUpper());
Console.WriteLine(nombre.ToLower());
Console.WriteLine(nombre.Length);

Output:
Rod
2
RODOLFO
rodolfo
7

Método que no devuelve nada (void), sin parámetros

class WithoutReturn{
	public void Greet(){
		Console.WriteLine("Good Afternoon!");
	}

	static void Main(string[] args){
		WithoutReturn withoutReturn;
		withoutReturn = new WithoutReturn();
		withoutReturn.Greet();
	}
}

Método que no devuelve nada, con parámetros

 class WithoutReturnWithParameter{
	public void Greet(string name){
		Console.WriteLine("Good afternoon " + name + "!");
	}
	
	static void Main(string[] args){
		WithoutReturnWithParameter withoutReturnWithParameter;
		withoutReturnWithParameter = new WithoutReturnWithParameter();
		withoutReturnWithParameter.Greet("Pablo");
	}
}

Ejercicios con funciones

Resolveremos los siguientes ejercicios definiendo una función con parámetros de entrada y que siempre devolverá un valor que procesaremos en la clase main,

1. Crear y llamar a un método que recibe un número y calcula su cubo.

2. Crear y llamar a un método que recibe la velocidad en Km/hora y la muestre en metros/hora.

3. Crear y llamar a un método que recibe el ancho y el alto de un rectángulo y calcula su perímetro.
Perímetro: 2*ancho + 2*alto
Cuando una función recibe varios parámetros, estos irán separados por coma. Ejemplo:calculaPerimetro(int alto, int ancho);

4. Crear y llamar a un método que recibe la base y la altura de un triángulo y calcula su área.
Area triángulo = base*altura/2

5. Leer por teclado el valor del radio de una circunferencia y mostrar por pantalla su perímetro y area. Para ello, definiremos estas dos funciones:

calculaPerimetro(int radio);
Perímetro de la circunferencia = 2*PI*Radio

calculaArea(int radio);
Area de la circunferencia = PI*Radio2

6. Repetir el ejercicio de la calculadora utilizando funciones para las operaciones aritméticas. Debemos declarar 4 funciones con dos parámetros de entrada cada una: suma(int a, int b), resta(int a, int b,), multiplicacion(int a, int b), division(int a, int b).

Métodos que devuelven algo

class WithReturn{
	public string Greet(string parameter){
		string salutation = "Buenas tardes " + parameter;
		return salutation;
	}
	
	static void Main(string[] args){
		WithReturn withReturn;
		withReturn = new WithReturn();
		string returnedValue = withReturn.Greet("John");
		Console.WriteLine(returnedValue);
	}
}

Ejercicios return

Repetir los 6 ejercicios anteriores, pero añadiendo un return a las funciones y utilizando el valor que estas devuelven.

1. Crear y llamar a un método que recibe un número y calcula su cubo.

2. Crear y llamar a un método que recibe la velocidad en Km/hora y la muestre en metros/hora.

3. Crear y llamar a un método que recibe el ancho y el alto de un rectángulo y calcula su perímetro.
Perímetro: 2*ancho + 2*alto
Cuando una función recibe varios parámetros, estos irán separados por coma. Ejemplo:calculaPerimetro(int alto, int ancho);

4. Crear y llamar a un método que recibe la base y la altura de un triángulo y calcula su área.
Area triángulo = base*altura/2

5. Utilizando estas dos funciones:

calculaPerimetro(int radio);
Perímetro de la circunferencia = 2*PI*Radio

calculaArea(int radio);
Area de la circunferencia = PI*Radio2Leer por teclado el valor del radio de una circunferencia y mostrar por pantalla su perímetro y area.

6. Repetir el ejercicio de la calculadora utilizando funciones para las operaciones aritméticas. Debemos declarar 4 funciones con dos parámetros de entrada cada una: suma(int a, int b), resta(int a, int b,), multiplicacion(int a, int b), division(int a, int b).

Ejercicio coste viaje

A lo largo de este ejercicio, deberemos programar 3 funciones:

  • costeHotel()
  • costeAvion().
  • costeAlquilerCoche().

Ejercicio – coste hotel

Además del public static void main que te paso más bajo, crea una función llamada costeHotel() que recibe como parámetro el número de noches. La función debe devolver cuanto es necesario pagar teniendo en cuenta que cada noche cuesta 140 euros.

 static void Main(string[] args){
	TravelCost travelCost = new TravelCost();
	Console.WriteLine("Introduzca el número de noches");
	int.TryParse(Console.ReadLine(), out int nights);
	Console.WriteLine("Introduzca el nombre del destino");
	string target = Console.ReadLine();

	int r1 = travelCost.HotelPrice(nights);
	int r2 = travelCost.AirPlanePrice(target);
	int r3 = travelCost.RentCatPrice(nights);

	int totalPrice = r1 + r2 + r3;
	Console.WriteLine("Resultado: " + totalPrice);
}

Ejercicio – Coste avión

La función costeAvion() tiene como parámetro de entrada el nombre de la ciudad. El coste corresponderá al indicado en la siguiente tabla.

Los costes por ciudad son los siguientes:
«Oviedo»: 15
«Tokyo»: 700
«Madrid»: 90
«Barcelona»: 90

Ejercicio – Coste alquiler coche

La función costeAlquilerCoche() tiene como parámetro de entrada el número de noches y devolverá un coste en función de dicho parámetro, teniendo los siguientes aspectos en cuenta:

  • Cada día de alquiler cuesta 40 €.
  • Si alquilas un coche por 3 días o más, obtienes un descuento de 20€ sobre el total.
  • Si alquilas un coche por 7 días o más, obtienes un descuento de 50€ sobre el total (no acumulable con los 20€ de haber alquilado por más de 3 días).

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.