Ejercicios Prácticos de Expresiones Lambda en LINQ

Las expresiones lambda en C# permiten escribir código más conciso y legible, especialmente cuando se combinan con LINQ. A continuación, presentamos una serie de ejercicios prácticos que ayudarán a comprender mejor su uso en distintas situaciones.


Ejercicio 1: Filtrar números pares

Instrucciones: Dada una lista de números enteros, utiliza LINQ y una expresión lambda para obtener solo los números pares.

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<int> numeros = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        var numerosPares = numeros.Where(n => n 
        
        Console.WriteLine("Números pares:");
        numerosPares.ForEach(n => Console.Write(n + " "));
    }
}

Ejercicio 2: Convertir nombres a mayúsculas

Instrucciones: Dada una lista de nombres, usa Select con una expresión lambda para convertirlos a mayúsculas.

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<string> nombres = new List<string> { "ana", "bruno", "carlos" };
        var nombresMayusculas = nombres.Select(n => n.ToUpper()).ToList();

        Console.WriteLine("Nombres en mayúsculas:");
        nombresMayusculas.ForEach(n => Console.WriteLine(n));
    }
}

Ejercicio 3: Encontrar el número máximo

Instrucciones: Dada una lista de números, encuentra el número máximo usando una expresión lambda.

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<int> numeros = new List<int> { 10, 20, 30, 5, 15 };
        int maximo = numeros.Max();

        Console.WriteLine("Número máximo: " + maximo);
    }
}

Ejercicio 4: Ordenar una lista de objetos

Instrucciones: Dada una lista de objetos Persona, ordena las personas por edad de menor a mayor.

using System;
using System.Collections.Generic;
using System.Linq;

class Persona
{
    public string Nombre { get; set; }
    public int Edad { get; set; }
}

class Program
{
    static void Main()
    {
        List<Persona> personas = new List<Persona>
        {
            new Persona { Nombre = "Ana", Edad = 30 },
            new Persona { Nombre = "Bruno", Edad = 25 },
            new Persona { Nombre = "Carlos", Edad = 35 }
        };

        var personasOrdenadas = personas.OrderBy(p => p.Edad).ToList();

        Console.WriteLine("Personas ordenadas por edad:");
        personasOrdenadas.ForEach(p => Console.WriteLine(p.Nombre + " - " + p.Edad));
    }
}

Ejercicio 5: Agrupar elementos por ciudad

Instrucciones: Dada una lista de personas con ciudad de residencia, agrúpalas por ciudad usando GroupBy.

using System;
using System.Collections.Generic;
using System.Linq;

class Persona
{
    public string Nombre { get; set; }
    public string Ciudad { get; set; }
}

class Program
{
    static void Main()
    {
        List<Persona> personas = new List<Persona>
        {
            new Persona { Nombre = "Ana", Ciudad = "Madrid" },
            new Persona { Nombre = "Bruno", Ciudad = "Barcelona" },
            new Persona { Nombre = "Carlos", Ciudad = "Madrid" },
            new Persona { Nombre = "David", Ciudad = "Sevilla" }
        };

        var grupos = personas.GroupBy(p => p.Ciudad);

        foreach (var grupo in grupos)
        {
            Console.WriteLine($"Ciudad: {grupo.Key}");
            foreach (var persona in grupo)
            {
                Console.WriteLine("  - " + persona.Nombre);
            }
        }
    }
}

Ejercicio 6: Calcular la edad promedio

Instrucciones: Dada una lista de edades, usa LINQ para calcular la edad promedio.

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<int> edades = new List<int> { 20, 25, 30, 35, 40 };
        double promedio = edades.Average();

        Console.WriteLine("Edad promedio: " + promedio);
    }
}

Conclusión

Las expresiones lambda en LINQ permiten realizar operaciones sobre colecciones de datos de manera rápida y eficiente. Estos ejercicios cubren operaciones básicas como filtrado, transformación, búsqueda, ordenamiento, agrupación y cálculo de valores.

Practicar con estos ejemplos te ayudará a mejorar tu comprensión y habilidad para utilizar LINQ en proyectos reales. ¡Sigue explorando y aplicando estas técnicas en tu código!

close up photo of cables plugged into the server
Photo by Brett Sayles on Pexels.com

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde Tomás González: Formador y Desarrollador Web

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad