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
Tomas Gonzalez

Mi nombre es Tomás González, soy técnico informático, desarrollador web, y formador online. Estoy abierto a nuevas ideas o proyectos. Me puedes escribir a mi correo electrónico tomas.gonzalez@infogonzalez.com Puedes contratarme para clases particulares y proyectos en: Puedes ver mi perfil profesional en: Tomás González Mi Facebook es: Infogonzalez Puedes ver mis proyectos en GitHub GitHub

Ver todas las entradas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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 !!
Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad