Home Assistant Fácil

Curso de Home Assistant y domótica

  • Blog
  • Soy un pardillo
  • Podcast
  • Curso Arduino
  • Curso Domótica
  • Acceder
Usted está aquí: Inicio / Tutoriales / Fragmentos / C# / Operaciones básicas en Linq

Operaciones básicas en Linq

Luis del Valle Hernández

En este fragmento os mostramos ciertas operaciones básicas que se pueden utilizar con las listas en C#. Son muy útiles para filtrar, ordenar, buscar y agrupar elementos de las listas IEnumerable.

El comando que equivale a la condición Where de una clausula SQL sería de la siguiente manera.

//Seleccionamos todos los estudiantes con la edad de 21 años
List<Estudiante> listaEstudiantesEdad = new List<Estudiante>();
listaEstudiantesEdad = listaEstudiantes.Where(estu => estu.Edad == 21).ToList();

//Si lo hacemos por el método tradicional
listaEstudiantesEdad = new List<Estudiante>();
foreach (var estu in listaEstudiantes)
{
 if (estu.Edad == 21)
 {
 listaEstudiantesEdad.Add(estu);
 }
}

//Puede contener varias clausulas
listaEstudiantesEdad = listaEstudiantes.Where(estu => estu.Edad == 21 && estu.Nota >= 5).ToList();

Como podéis comprobar se reduce mucho el código que hay que escribir. Otras funciones interesantes las podéis ver en el siguiente código.

//La sentencia ForEach permite hacer un bucle y recorrer todos los elementos en una sola línea de código
listaEstudiantes.ForEach(estu => estu.Nota == 8);

//Podemos ordenar la lista en sentido ascendente y descendente
listaEstudiants.OrderBy(estu=>estu.Edad);
listaEstudiants.OrderByDescending(estu=>estu.Edad);

//Eliminar todos los elementos que cumplan la condición
listaEstudiants.RemoveAll(estu=>estu.Nota <= 5);

int edadMax = listaEstudiants.Max(estu=>estu.Edad);
int edadMin = listaEstudiants.Min(estu=>estu.Edad);

//Podemos hacer una media de las notas de una manera muy simple
float mediaNotas = listaEstudiants.Sum(estu=>estu.Nota) / listaEstudiants.Count;

Algo más complejo sería hacer una agrupación. En el siguiente ejemplo os mostramos como podemos agrupar una lista de estudiantes por edades y mostrarlo por consola.

//Creamos la query
var mismaEdad =
        from estuidante in estudiantes
        group estudiante by estudiante.Edad into grupoMismaEdad
        orderby grupoMismaEdad.Key
        select grupoMismaEdad;

    foreach (var grupoEdad in mismaEdad)
    {
        Console.WriteLine("Edad en común: {0}", grupoEdad.Key);
        //Recorremos todos los estudiantes con la misma edad
        foreach (var estudiante in grupoEdad)
        {
            Console.WriteLine("\t{0}, {1} {2}", estudiante.Nombre, estudiante.Apellidos, estudiante.Edad);
        }
    }

Linq es realmente una herramienta muy potente que nos puede ayudar a comprimir nuestro código dejándolo a la mínima expresión como habéis podido comprobar.

home assistant 2026.7

Automatizaciones Home Assistant 2026.7: por fin hablan en humano

¿Cuántas veces te has sentado delante del ordenador para hacer una triste automatización y has acabado queriendo tirar el teclado por la ventana? Eso … [+ info...]

comparativa home assistant y homey

Comparativa Home Assistant y Homey: qué sistema domótico comprar

Comparativa Home Assistant y Homey: si estás pensando en montar una casa inteligente de verdad, tarde o temprano te vas a encontrar con esta duda. ¿Me … [+ info...]

camaras de seguridad para casa

Cámaras de seguridad para casa: 5 pilares para no caer en la trampa del Prime Day

Llevas semanas pensando en poner cámaras de seguridad para casa y llega el Prime Day. Entras en Amazon, buscas y aparecen miles de resultados: WiFi, … [+ info...]

Copyright © 2026 · Programar Fácil · Aviso legal

Utilizamos cookies para ofrecerte la mejor experiencia en nuestra web.

Puedes aprender más sobre qué cookies utilizamos o desactivarlas en los .

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Cookies de terceros

Esta web utiliza Google Tag Manager para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.