¿Cuál es la diferencia entre una expresión lambda y un predicado en .NET?¿Cuál es la diferencia entre una expresión lambda y un predicado en .NET?
12
A
Respuesta
12
Un predicado es delegado (función de objeto) que devuelve un valor booleano. Lambda expressions se puede usar para definir cualquier función anónima, que incluye predicados, p. para expresar un predicado en la forma de una expresión lambda:
Predicate<int> isEven2 = x => x % 2 == 0;
que es funcionalmente equivalente a:
Func<int,bool> isEven = x => x % 2 == 0;
3
predicado define un conjunto de criterios, mientras que la expresión lambda es una función anónima. Puedes usar lambda ej. como un predicado, pero eso no quiere decir que sean la misma cosa.
+1
Bien, pero ¿cuál es la diferencia exactamente? – Phil
Cuestiones relacionadas
- 1. ¿Cuál es la diferencia entre un predicado y un funcionador?
- 2. ¿Cuál es la diferencia entre() y [] en una expresión regular?
- 3. En .NET, ¿cuál es la diferencia entre AsFoo() y ToFoo()?
- 4. ¿Cuál es la diferencia entre KeyValuePair y Hashtable en .NET?
- 5. ¿Cuál es la diferencia entre finalizar y eliminar en .net?
- 6. ¿Cuál es la diferencia entre X509Certificate2 y X509Certificate en .NET?
- 7. ¿Cuál es la diferencia entre C# y .NET?
- 8. C#: ¿Sin conversión implícita entre 'expresión lambda' y 'expresión lambda'?
- 9. ¿Cuál es la diferencia entre C#, .NET y CLI?
- 10. ¿Cuál es la diferencia entre la nueva Acción() y una lambda?
- 11. ¿Cuál es la diferencia entre un hilo y una fibra?
- 12. ¿Cuál es la diferencia entre una mónada y un cierre?
- 13. ¿Cuál es la diferencia entre un tema y una plantilla?
- 14. ¿Cuál es la diferencia de enunciado y expresión en Ruby?
- 15. ¿Cuál es la diferencia entre un algoritmo y una función?
- 16. ¿Cuál es la diferencia entre una matriz y un objeto?
- 17. ¿Cuál es la diferencia entre una instancia y un objeto?
- 18. ¿Cuál es la diferencia entre un RoutedCommand y una RoutedUICommand?
- 19. ¿Cuál es la diferencia entre un método y una función?
- 20. ¿Cuál es la diferencia entre una heurística y un algoritmo?
- 21. ¿Cuál es la diferencia entre un diccionario y una matriz?
- 22. ¿Cuál es la diferencia entre un grupo y una coincidencia en el RegEx de .NET?
- 23. ¿Cuál es la diferencia entre grep y map en Perl?
- 24. ¿Cuál es la diferencia entre dict() y {}?
- 25. ¿Cuál es la diferencia entre corchetes y paréntesis en una expresión regular?
- 26. ¿Cuál es la diferencia entre ".equals" y "=="?
- 27. ¿Cuál es la diferencia entre .ToString (+) y ""
- 28. ¿Cuál es la diferencia entre \ 1 y $ 1 en una expresión regular de Perl?
- 29. Cuál es la diferencia entre = y: =
- 30. ¿Cuál es la diferencia entre {0} y ""?
Un predicado no significa * tiene * que ser una función anónima. –
Para métodos que toman un predicado como un argumento (List.FindAll() por ejemplo), sería bueno si el compilador reconoce Func como un predicado válida, ya que son funcionalmente equivalentes. Pero puede ejecutarlo a través de un lambda como: 'var x = MyList.FindAll (i => isEven (i));' –
Graham