Saltar al contenido

Ejercicios Prácticos de Expresiones Lambda en LINQ

close up photo of cables plugged into the server

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
Etiquetas:

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 !!

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