Was ist der Unterschied zwischen einem Lambda-Ausdruck und einem Prädikat in .NET?Was ist der Unterschied zwischen einem Lambda-Ausdruck und einem Prädikat in .NET?
12
A
Antwort
12
Ein Prädikat ist Delegat (Funktionsobjekt), das einen booleschen Wert zurückgibt. Lambda expressions kann verwendet werden, um eine anonyme Funktion zu definieren, die Prädikate, z.B.
Predicate<int> isEven2 = x => x % 2 == 0;
, die funktionell äquivalent zu::
Func<int,bool> isEven = x => x % 2 == 0;
3
Predicate definiert eine Reihe von Kriterien, während Lambda-Ausdruck ist eine anonyme Funktion ein Prädikat in Form eines Lambda-Ausdrucks auszudrücken. Sie können Lambda ex verwenden. als ein Prädikat, aber das bedeutet nicht, dass sie dasselbe sind.
+1
Okay, aber was ist der Unterschied genau? – Phil
Verwandte Themen
- 1. Was ist der Unterschied zwischen einem Streamwriter und einem Binarywriter?
- 2. Was ist der Unterschied zwischen einem ViewModel und einem Controller?
- 3. Was ist der Unterschied zwischen einem Integrator und einem Tiefpassfilter?
- 4. Was ist der Unterschied zwischen einem Muster und einem Pfad?
- 5. Was ist der Unterschied zwischen einem Instanzinitialisierer und einem Konstruktor?
- 6. Was ist der Unterschied zwischen einem Index und einem Fremdschlüssel?
- 7. Was ist der Unterschied zwischen einem Controller und einem Service?
- 8. Was ist der Unterschied zwischen einem Key und einem KeySpec?
- 9. Was ist der Unterschied zwischen einem Algorithmus und einem Entwurfsmuster
- 10. Was ist der Unterschied zwischen einem RoutedCommand und einem RoutedUICommand?
- 11. Was ist der Unterschied zwischen einem Primärschlüssel und einem Ersatzschlüssel?
- 12. Was ist der Unterschied zwischen einem Anwendungscontroller und einem Anwendungskontext?
- 13. Was ist der Unterschied zwischen einem Domänenklassendiagramm und einem Designklassendiagramm?
- 14. Was ist der Unterschied zwischen einem Tupel und einem compressed_pair?
- 15. Was ist der Unterschied zwischen einem Klassendiagramm und einem Objektdiagramm?
- 16. Was ist der Unterschied zwischen einem Iterator und einem Generator?
- 17. Was ist der Unterschied zwischen einem Array und einem Objekt?
- 18. Was ist der Unterschied zwischen einem Tabellenindex und einem Ansichtsindex?
- 19. Was ist der Unterschied zwischen einem Nanokern und einem Exokernel?
- 20. Was ist der Unterschied zwischen einem Helfer und einem Teil?
- 21. Was ist der Unterschied zwischen einem Workflow und einem Flowchart?
- 22. Was ist der Unterschied zwischen einem Fehler und einer Ausnahme?
- 23. Was ist der Unterschied zwischen einem Bündel und einer Absicht?
- 24. Was ist der Unterschied zwischen Ember.computed.alias und einem Ember.binding?
- 25. Was ist der Unterschied zwischen einem Benutzer und einer Rolle?
- 26. Was ist der Unterschied zwischen einem QWindow und QWidget
- 27. Was ist der Unterschied zwischen einer Schließung und einem Modul?
- 28. Was ist der Unterschied zwischen einem Hintergrund- und Vordergrunddienst?
- 29. Was ist der Unterschied zwischen einem Ausdruck und einer Aussage?
- 30. Was ist der Unterschied zwischen einem Mixin und dem Dekorationsmuster?
Ein Prädikat haben nicht * * eine anonyme Funktion sein. –
Für Methoden, die ein Prädikat als Argument verwenden (zB List.FindAll()), wäre es schön, wenn der Compiler Func als gültiges Prädikat erkennt, da sie funktional gleichwertig sind. Aber Sie können es einfach durch ein Lambda wie folgt ausführen: 'var x = MyList.FindAll (i => isEven (i));' –
Graham