Ejercicio de programación con CSharp: Proyecto colecciones y LINQ en C#

Proyecto
Práctica
3h 0m

Desarrolla un sistema en C# con colecciones y LINQ para gestionar libros, usuarios y préstamos en una biblioteca.

  1. Crea un nuevo proyecto de consola en C# y define las clases principales del sistema:
  • Libro (con propiedades como Id, Título, Autor, Año, Género, Disponible)
  • Usuario (con propiedades como Id, Nombre, Email, FechaRegistro)
  • Prestamo (con propiedades como Id, IdLibro, IdUsuario, FechaPrestamo, FechaDevolucion)
  1. Implementa las colecciones genéricas para almacenar los datos:
   List<Libro> libros = new List<Libro>();
   List<Usuario> usuarios = new List<Usuario>();
   List<Prestamo> prestamos = new List<Prestamo>();
  1. Crea métodos para inicializar las colecciones con datos de prueba (al menos 10 libros, 5 usuarios y 8 préstamos) para poder realizar consultas significativas.

  2. Implementa los métodos CRUD para cada entidad:

  • Métodos para agregar nuevos elementos a las colecciones
  • Métodos para buscar elementos por ID
  • Métodos para actualizar elementos existentes
  • Métodos para eliminar elementos
  1. Desarrolla las siguientes consultas LINQ básicas:
  • Libros publicados después de un año específico
  • Libros de un autor determinado
  • Usuarios registrados en los últimos X meses
  • Préstamos activos (no devueltos)
  1. Implementa consultas LINQ avanzadas:
  • Libros más prestados (usando group by)
  • Usuarios con más préstamos activos
  • Géneros de libros más populares
  1. Crea al menos una consulta LINQ con join para relacionar información de diferentes colecciones:
  • Detalles completos de préstamos (incluyendo información del libro y usuario)
  1. Implementa operaciones de ordenación y paginación:
  • Mostrar libros ordenados por título o autor
  • Implementar un sistema simple de paginación para mostrar resultados (N elementos por página)
  1. Crea un menú interactivo en la consola que permita al usuario ejecutar las diferentes consultas y operaciones CRUD.

  2. Asegúrate de manejar excepciones adecuadamente y mostrar mensajes informativos al usuario cuando ocurran errores.

Empezar ejercicio de programación

Más ejercicios de programación con CSharp

Evalúa tus conocimientos en CSharp con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.

Tecnologías de este ejercicio de programación

Entornos de desarrollo para este ejercicio

Image

Visual Studio Code

Image

GitHub