Qual è la differenza tra un'espressione lambda e un predicato in .NET?Qual è la differenza tra un'espressione lambda e un predicato in .NET?
12
A
risposta
12
Un predicato è delegato (oggetto funzione) che restituisce un valore booleano. Lambda expressions può essere utilizzato per definire qualsiasi funzione anonima, che include predicati, ad es. esprimere un predicato nella forma di un'espressione lambda:
Predicate<int> isEven2 = x => x % 2 == 0;
funzionalmente equivalente a:
Func<int,bool> isEven = x => x % 2 == 0;
3
predicato definisce un insieme di criteri, mentre l'espressione lambda è una funzione anonima. Puoi usare lambda ex. come un predicato, ma ciò non significa che siano la stessa cosa.
+1
Ok, ma qual è esattamente la differenza? – Phil
Problemi correlati
- 1. In .NET, qual è la differenza tra AsFoo() e ToFoo()?
- 2. Qual è la differenza tra finalize e dispose in .net?
- 3. Qual è la differenza tra C# e .NET?
- 4. Qual è la differenza tra componenti .NET e componenti COM
- 5. Qual è la differenza tra .NET Core e PCL?
- 6. Qual è la differenza tra dict() e {}?
- 7. Qual è la differenza tra = e: =
- 8. Qual è la differenza tra Verilog! e ~?
- 9. Qual è la differenza tra .ToString() e + ""
- 10. Qual è la differenza tra `##` e `hashCode`?
- 11. qual è la differenza tra:.! e: r !?
- 12. Qual è la differenza tra ("") e (null)
- 13. Qual è la differenza tra% e %% in un file cmd?
- 14. Qual è la differenza tra. e # in un file css?
- 15. qual è la differenza tra @ e @@ in un modulo?
- 16. Qual è la differenza tra? : e ||
- 17. qual è la differenza tra [[], []] e [[]] * 2
- 18. Qual è la differenza tra $ e $$?
- 19. Qual è la differenza tra " " e ""?
- 20. Qual è la differenza tra {0} e ""?
- 21. Qual è la differenza tra {0} e +?
- 22. Qual è la differenza tra abolish/1 e retactall/1?
- 23. Qual è la differenza tra $ get e $ find in JavaScript?
- 24. Qual è la differenza tra l'interfaccia e @interface in java?
- 25. Qual è la differenza tra un helper e un parziale?
- 26. Qual è la differenza tra un pacchetto e un intento?
- 27. Qual è la differenza tra un nodo e un vertice?
- 28. Qual è la differenza tra un RoutedCommand e un RoutedUICommand?
- 29. Qual è la differenza tra un JavaBean e un POJO?
- 30. Qual è la differenza tra un tema e un modello?
Un predicato non significa * * hanno di essere una funzione anonima. –
Per i metodi che accettano un predicato come argomento (ad esempio List.FindAll), sarebbe bello se il compilatore riconoscesse Func come un predicato valido, dal momento che sono funzionalmente equivalenti. Ma puoi semplicemente eseguirlo attraverso un lambda come: 'var x = MyList.FindAll (i => isEven (i));' –
Graham