Proyecto colecciones y LINQ en C#

Proyecto de programación
Avanzado
CSharp
Curso de CSharp
180 min
200 XP
Actualizado: 09/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Descripción

Desarrollar un sistema de gestión de biblioteca utilizando colecciones y LINQ en C# para manipular y consultar datos de libros y préstamos.

  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.

    Guarda tu progreso

    Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

    Progreso guardado
    Asistente IA
    Ejercicios
    Iniciar sesión gratis

    Más de 25.000 desarrolladores ya confían en CertiDevs

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

Solución al ejercicio de programación en CSharp

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en CSharp para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en CSharp

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en CSharp

⭐⭐⭐⭐⭐
4.9/5 valoración