Estoy buscando un muy simple - básico - sin programación de hardcore, simplemente ponga una descripción general de una expresión de Lambda en términos sencillos.Explicación muy simple de una expresión de Lambda
Respuesta
Una expresión lambda es, simplemente, una expresión re-utilizable que tiene una serie de argumentos:
x => x + 1;
La expresión anterior lee "para una x dada, volver x + 1".
En .NET, esto es de gran alcance, ya que puede ser compilado en un delegado anónimo, una función sin nombre, se puede declarar en línea con su código y evaluar para obtener un valor:
int number = 100;
Func<int, int> increment = x => x + 1;
number = increment(number); // Calls the delegate expression above.
Sin embargo, el verdadero El poder de una expresión lambda es que se puede usar para inicializar una representación en memoria de la expresión misma.
Expression<Func<int, int>> incrementExpression = x => x + 1;
Esto significa que usted puede dar a esa expresión a algo así como LINQ a SQL y se puede entender lo que significa la expresión , traducirla en una instrucción SQL que tiene el mismo significado. Aquí es donde las lambdas son muy diferentes de los métodos y delegados normales, y normalmente donde comienza la confusión.
Un pequeño método en línea sin nombre. ¿Eso es lo suficientemente básico para ti? No estoy seguro de lo que estás buscando exactamente.
Usted también dijo en términos "simples" - supongo que tiene un cierto nivel de experiencia de desarrollo de software (por lo que no es un laico completa)
Lambda expresiones son las funciones en línea que tienen una sintaxis diferente a las funciones regulares.
Ejemplo Lambda Expresión para cuadrar un número.
x => x * x
En lenguajes de programación no funcionales, las expresiones (que actúan sobre variables) realizan cálculos y realizan esos cálculos una vez.
Las expresiones Lambda le permiten definir (en una expresión) a través de un código de sintaxis diferente que puede funcionar en una lista y conceptualmente puede considerarse una función.
Puede simplificar esto para decir "Le permiten definir funciones en expresiones".
No llega al "por qué". El por qué es el más interesante, en mi opinión. La expresión Lambda permite la manipulación de funciones y funciones parciales.
"Podría simplificar esto para decir" Le permiten definir funciones en expresiones "." ¡Eso es lo que estaba buscando! – dennis
- 1. ¿Una explicación simple de Rings en Riak?
- 2. Creación de expresión lambda de una cadena
- 3. Expresión Lambda
- 4. Expresión Lambda versus Statement Lambda
- 5. Almacenar una expresión Lambda en una variable
- 6. ¿Es posible incorporar una expresión lambda?
- 7. lambda Expresión como propiedad
- 8. Expresión Lambda con una entrada vacía
- 9. Regex muy simple no funciona
- 10. Validación de usuario muy simple
- 11. C#: ¿Sin conversión implícita entre 'expresión lambda' y 'expresión lambda'?
- 12. C# Velocidad de expresión lambda
- 13. Sintaxis de la expresión Lambda
- 14. Servidor DNS muy simple
- 15. iPad (muy) simple dibujo
- 16. Explicación de LookAheads en esta expresión regular
- 17. Cambio de parámetros de función lambda de expresión lambda
- 18. Expresión lambda en Powershell
- 19. IComparer utilizando Lambda Expresión
- 20. Cómo funciona Lambda Expresión
- 21. v4l2 muy simple ejemplo
- 22. Expresión lambda en C#
- 23. Explicación básica simple de una tabla hash distribuida (DHT)
- 24. Necesita una explicación simple del método de inyección
- 25. ¿Qué significa "Expresión Lambda"?
- 26. Analizador de Javascript para una expresión simple
- 27. Usando expresión lambda en una ObservableCollection
- 28. ¿Hay alguna manera de usar ConcurrentDictionary.TryUpdate con una expresión lambda?
- 29. cadena Únete Usando una expresión lambda
- 30. Reemplazar parámetros en una expresión lambda
Si mira el código a través de algo como Reflector, entonces es un método. Supongo que puede, como lo hace VB, categorizar los métodos en Subrutinas (sin valor de retorno) y Funciones (devuelve un valor). Sin embargo, las lambdas no tienen que devolver valores. Por ejemplo, lambdas se usa con Parallel.Para no devolver valores porque se asignan a la Acción <...> en lugar de Func <...> –
mi malo - Colin debidamente eliminado. –