Reto LINQ avanzado

Código
Curso de null
20 min
200 XP
Actualizado: 09/05/2025

¡Programa y certifícate!

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

Descripción

Implementar consultas LINQ avanzadas para filtrar y transformar una colección de datos

Crea una aplicación de consola en C# que trabaje con una colección de objetos Producto con las siguientes propiedades: Id (int), Nombre (string), Precio (decimal), Categoria (string) y FechaCreacion (DateTime).

Inicializa una lista con al menos 10 productos diferentes, asegurándote de incluir al menos 3 categorías distintas y precios variados.

Implementa las siguientes consultas LINQ y muestra sus resultados en la consola:

  1. Obtén los productos cuyo precio sea mayor a 50 y pertenezcan a la categoría "Electrónica", ordenados por precio de forma descendente.

  2. Agrupa los productos por categoría y calcula el precio promedio de cada grupo.

  3. Encuentra el producto más caro y el más barato de cada categoría, mostrando su nombre y precio.

  4. Crea una proyección que devuelva un objeto anónimo con las propiedades: NombreProducto, PrecioConIVA (precio + 21%) y AntiguedadEnDias (días transcurridos desde su fecha de creación hasta hoy).

  5. Utiliza el método Zip para combinar dos secuencias: los nombres de los productos y sus precios, generando una lista de cadenas con el formato "[Nombre]: [Precio]€".

Asegúrate de utilizar sintaxis de consulta LINQ y sintaxis de método en diferentes partes del ejercicio.

Solución al ejercicio de programación en

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en 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

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

⭐⭐⭐⭐⭐
4.9/5 valoración