Expresiones Lambda de C# LINQ

Expresiones Lambda De C Linq



La expresión Lambda en C# toma directamente las expresiones/declaraciones condicionales como su cuerpo sin nombre. Necesitamos especificar los parámetros y luego se le asignan las expresiones. Mientras trabaja con Language Integrated Query (LINQ), es posible que tenga el requisito de que necesita transformar los datos que están presentes en el origen de datos o convertir un origen de datos en otro origen de datos. En esta guía, veremos cómo filtrar los registros de la fuente de datos especificando la expresión lambda y seleccionando los registros de la fuente de datos.

Sintaxis:

  1. Expresión lambda: (parámetros) => expresión
  2. Declaración lambda: { declaración condicional1 declaración2 … }

Ejemplo 1:

Cree la lista de 'fertilizantes' que contiene cinco cadenas. Utilice la expresión lambda que devuelve todas las cadenas de la lista.

usando Sistema ;
usando Sistema.Linq ;
usando System.Collections.Genérico ;

  clase LambdaExpresiónEjemplo {

    estático público vacío Principal ( )
    {

        // Crear Lista de fertilizantes
Lista de fertilizantes = nuevo Lista ( ) ;  
fertilizantes . Agregar ( 'Urea' ) ;  
fertilizantes . Agregar ( 'nitrógeno' ) ;  
fertilizantes . Agregar ( 'potasio' ) ;  
fertilizantes . Agregar ( 'Fosfato diamónico' ) ;
fertilizantes . Agregar ( 'fósforo' ) ;
       
        // Usa LambdaExpression para seleccionar todos los fertilizantes
        era resultado = fertilizantes . Seleccionar ( entrada1 => entrada1 ) ;  
        para cada ( era i en resultado )  
        {  
Consola . Línea de escritura ( i ) ;  
        }  

    }
}

Producción:









Explicación:  



1. Cree una lista de tipo de cadena denominada 'fertilizantes'. Agregue cinco cadenas a esta lista.

2. Utilice la expresión lambda para seleccionar todos los fertilizantes. Aquí, la expresión se usa con el operador 'Seleccionar'. la expresión es entrada1 => entrada1. Luego, usamos el bucle 'foreach' para mostrar las cadenas que devuelve la expresión lambda.





Ejemplo 2:

Utilice la expresión lambda para seleccionar los fertilizantes que incluyen “Fosfato”.

usando Sistema ;
usando Sistema.Linq ;
usando System.Collections.Genérico ;

  clase LambdaExpresiónEjemplo {

    estático público vacío Principal ( )
    {

        // Crear Lista de fertilizantes
Lista de fertilizantes = nuevo Lista ( ) ;  
fertilizantes . Agregar ( 'Urea' ) ;  
fertilizantes . Agregar ( 'nitrógeno' ) ;  
fertilizantes . Agregar ( 'orto - Fosfato' ) ;  
fertilizantes . Agregar ( 'Fosfato diamónico' ) ;
fertilizantes . Agregar ( 'fósforo' ) ;
       
        // Use LambdaExpression para seleccionar los fertilizantes que incluyen - 'Fosfato'
        era resultado = fertilizantes . Dónde ( entrada1 => entrada1 . Contiene ( 'Fosfato' ) ) ;  
        para cada ( era i en resultado )  
        {  
Consola . Línea de escritura ( i ) ;  
        }  

    }
}

Producción:



Hay dos cadenas que incluyen 'fosfato' en ellas.

Explicación:

1. Cree una lista de tipo de cadena llamada 'fertilizantes'. Agregue cinco cadenas a esta lista.

2. Aquí, la expresión se usa con el operador 'Dónde'. la expresión es inp1 => inp1.Contains(“Fosfato”). Luego, usamos el bucle 'foreach' para mostrar las cadenas que devuelve la expresión lambda.

Ejemplo 3:

Tengamos una lista (order_quantity) que contenga tres pedidos. Especifique la expresión lambda para sumar 5 a cada orden.

usando Sistema ;
usando Sistema.Linq ;
usando System.Collections.Genérico ;

  clase LambdaExpresiónEjemplo {

    estático público vacío Principal ( )
    {

        // Crear Lista de cantidades
Lista order_quantity = nuevo Lista ( ) ;  
ordene la cantidad . Agregar ( 5 ) ;  
ordene la cantidad . Agregar ( 7 ) ;  
ordene la cantidad . Agregar ( 8 ) ;  
       
        // Use LambdaExpression a 5 para cada pedido.
        era resultado = ordene la cantidad . Seleccionar ( entrada1 => entrada1 + 5 ) ;  
        para cada ( era i en resultado )  
        {  
Consola . Línea de escritura ( i ) ;  
        }  

    }
}

Producción:

La lista [5,7,8] se transforma en [10,12,13].

Explicación:

1. Crear la lista de cantidades de tipo Entero.

2. Seleccionamos primero los pedidos y luego sumamos 5 a cada pedido. Entonces, se usa el operador 'Seleccionar'. la expresión es entrada1 => entrada1 + 5.

Ejemplo 4:

Cree una fuente de datos de lista de tipo Evento (con tres atributos: Event_Name, Event_Status y Event_Budget) y devuelva los registros con Event_Budget mayor que 5000.

usando Sistema ;
usando Sistema.Linq ;
usando System.Collections.Genérico ;

// Crea una clase llamada - 'Event_Source' con 5 eventos.
público clase Origen_del_evento
{
    público estático vacío Principal ( )
    {
        // Lista de eventos
IListar eventos = nuevo Lista ( ) {
        nuevo Evento ( ) { Nombre del evento = 'Campamento Técnico' ,Estado_del_evento = 'Planificado' ,Presupuesto_evento = 10000 } ,
        nuevo Evento ( ) { Nombre del evento = 'Campamento de Mercadotecnia' ,Estado_del_evento = 'Terminado' ,Presupuesto_evento = 5000 } ,
        nuevo Evento ( ) { Nombre del evento = 'Otro' ,Estado_del_evento = 'Planificado' ,Presupuesto_evento = 1000 } ,
        nuevo Evento ( ) { Nombre del evento = 'Política' ,Estado_del_evento = 'Planificado' ,Presupuesto_evento = 13000 } ,
        nuevo Evento ( ) { Nombre del evento = 'Finanzas' ,Estado_del_evento = 'Terminado' ,Presupuesto_evento = 20000 } ,
        } ;
       
        //Event_Budget superior a 5000.
        era resultado = eventos . Dónde ( entrada1 => entrada1 . Presupuesto_evento > 5000 ) ;
        para cada ( era i en resultado ) {          
Consola . Línea de escritura ( 'NOMBRE: ' + i . Nombre del evento + ' ESTADO: ' + i . Evento_Estado + ' PRESUPUESTO: ' + i . Presupuesto_evento ) ;
        }
    }
}

público clase Evento {
    público cadena Nombre del evento { conseguir ; colocar ; }
    público cadena Evento_Estado { conseguir ; colocar ; }
    público En t Presupuesto_evento { conseguir ; colocar ; }
}

Producción:

Hay tres registros en la lista de 'eventos' con Event_Budget superior a 5000.

Explicación:  

1. Primero, creamos una clase de 'Evento' con tres atributos.

2. Luego, creamos una lista de cinco eventos.

3. Usando el entrada1 => entrada1.Event_Budget > 5000 expresión lambda, seleccionamos los registros con el Event_Budget mayor a 5000.

Ejemplo 5:

Utilice el código anterior y cambie la expresión lambda. Devuelve los eventos con Event_Name que termina en 'Campamento' y con Event_Status que es 'Planificado'.

//Expresión Lambda: Event_Name termina en 'Camp' y Event_Status es 'Planned'.
        era resultado = eventos . Dónde ( entrada1 => entrada1 . Nombre del evento . Termina con ( 'Acampar' ) && entrada1 . Evento_Estado == 'Planificado' ) ;
        para cada ( era i en resultado ) {          
Consola . Línea de escritura ( 'NOMBRE: ' + i . Nombre del evento + ' ESTADO: ' + i . Evento_Estado + ' PRESUPUESTO: ' + i . Presupuesto_evento ) ;
        }

Producción:

Solo hay un registro que cumple ambas condiciones.

Explicación:

Aquí especificamos dos condiciones en la expresión lambda. El operador && (y) se usa para hacer que las dos condiciones sean verdaderas. La primera condición usa el método EndsWith() para verificar si una cadena termina con la cadena dada. La segunda condición utiliza el operador 'Comparación' (==) para verificar si ambos valores son iguales o no.

Conclusión

En C#, la expresión lambda toma las expresiones/declaraciones condicionales como su cuerpo sin nombre. Necesitamos especificar los parámetros. Luego, se le asignan las expresiones. Básicamente, estos se utilizan para filtrar los registros de la fuente de datos dada, transformar los elementos y seleccionar los elementos de la fuente/secuencia de datos. En esta guía, discutimos los cinco ejemplos diferentes que seleccionan, filtran y transforman los elementos usando la expresión lambda.