Ejercicio extensión String

Vamos a extender el tipo string añadiendo las siguientes funciones:

trimAll() ->Elimina todos los espacios de una cadena. Ejemplo:


string cad="    hola    que    tal   ";

Console.Writeline(cad.trimALL);

Mostraría:

holaquetal

toTitle() -> Convierte la primera letra de cada palabra en mayúsculas y el resto en minúsculas. Ejemplo:


string cad = "hola que tal";
Console.WriteLine(cad.toTitle());
string cad = "HOLA que TAL";
Console.WriteLine(cad.toTitle());
string cad = "hOLA qUE tAl";
Console.WriteLine(cad.toTitle());

Mostraría:

Hola Que Tal

Hola Que Tal

Hola Que Tal

reverse() -> Nos da la vuelta a la cadena. Ejemplo:


string cad = "hola que tal";
Console.WriteLine(cad.reverse());

Nos mostraría:

lat euq aloh

palindromo() -> Nos devuelve true si la cadena es palíndroma (se lee igual empezando por el principio o por el final) No hay que tener en cuenta espacios, pero de momento ignoremos los acentos. Ejemplo:


string cad = "Isaac no ronca asi";
Console.WriteLine(cad.palindromo());

Mostraría: true

Ejercicio sobrescritura enumerable

Vamos a crear una clase Alumno que tiene nombre y nota. Crearemos también una clase Aula que tiene un nombre, una capacidad de tipo entero y una lista de alumnos. Pondremos la función matricular que nos añade un alumno a la lista y expulsar que nos quita un alumno de la lista.

Necesitaremos poder recorrer la lista de alumnos de la clase. También poder acceder mediante índice a los alumnos.

Sobreescribiremos el operador + para poder añadir un alumno o una aula. Comprobar que al añadir un alumno no superemos la capacidad de la clase.

Lista temas

OOP Herencia, abstract sealed (Adrià)

Interfaces (Rodrigo)

Inyección dependencia (Sergi)

Principios SOL (Manel)

Principios ID (Guillem)

Colecciones No genéricas (Norden)

Colecciones Genéricas: List, Dictionary (Jaume)

Tipos Custom Generics (Adrià Rojo)

Delegados (Zaka)

Eventos (Adam)

Sobreescritura binaria (Edu)

Sobreescritura IEnumerable (Alberto)

LINQ Query Syntax (including group by and subqueries) (David)