W języku C# są obiekty wyrażeń lambda? Jeśli tak, to jaki to obiekt?W języku C# są obiekty Lambda Expressions?
Odpowiedz
Wyrażenia lambdy same istnieją tylko w kodzie źródłowym. Nie mają własnego typu, dlatego kompilator zawsze nalega, aby konwertować je na określony typ.
Dlatego ten kod nie kompilacji:
// No idea what type to convert to!
object x = y => y.Length;
Ale to robi: wyrażenia
Func<string, int> x = y => y.Length;
Lambda są zawsze konwertowane do obu typu delegat lub typu drzewo wyrażenie . Podobnie metody anonimowe są zawsze konwertowane na typ delegatów.
Operacje Lambda w Linq tworzą tak zwane drzewa ekspresji. Możesz przeczytać trochę o tym here.
Cóż, mogą. Lub mogą budować delegatów. To zależy od dostawcy. –
Tak, wyrażenia lambda są konwertowane na delegate
lub expression tree - oba są obiektami.
Jest anonimowa funkcja, która musi spełniać jakiegoś delegata. msdn Tak więc, w rzeczywistości są to egzemplarze typu delegowanego.
O ile nie zostaną przekonwertowane na drzewo wyrażeń ... –
- 1. Związane/powiązane obiekty/klasy w języku C# podobne do LINQ
- 2. Jakie są konwencje nazewnictwa w języku C#?
- 3. JavaScript-Regular Expressions
- 4. Jak głęboko klonować połączone obiekty w języku C#?
- 5. Jak odwzorować zawartość pliku XML na obiekty w języku C#
- 6. Czy można zdefiniować ogólną wartość lambda w języku C#?
- 7. Lambda-Over-Lambda w C++ 14
- 8. lambda w C++ 03
- 9. android Studio: lambda wyrażenia nie są obsługiwane w -source 1.7 (wykorzystanie -source 8 lub wyższej, aby umożliwić wyrażeń lambda)
- 10. maven. Wyrażenia lambda nie są obsługiwane w -source 1.5
- 11. Kiedy inicjalizowane są obiekty pakietu?
- 12. Jak dictowe obiekty są marynowane?
- 13. Kiedy są tworzone obiekty atrybutów?
- 14. Dynamiczne obiekty w WCF nie są możliwe?
- 15. Dostęp uogólniać-przechwycone obiekty lambda spływu typ zwracany
- 16. Porównaj obiekty w pudełku w C#
- 17. Safehandle w języku C#
- 18. C++ zamknięcie z lambda
- 19. C++ 11 lambda w decltype
- 20. Przełącznik C# w wyrażeniu lambda
- 21. Symulowanie metod C# Lambda w JavaScript
- 22. Lambda Funkcje w PHP nie są logiczne
- 23. Czy anonimowe typy w języku C# są dostępne poprzez odbicie?
- 24. Czy exploity przepełnienia bufora są możliwe w języku C#?
- 25. Opcjonalne parametry VB są wymagane w języku C#
- 26. Co to są generyczne kolekcje w języku C#?
- 27. Co to są sprawdzane wyjątki w języku Java/C#?
- 28. Jaki jest cel delegatów są niezmienne w języku C#?
- 29. jakie są najczęściej używane interfejsy w języku C#?
- 30. Czy tablice oparte na stosie są możliwe w języku C#?
+1 Dobra odpowiedź. Podoba mi się, że wyjaśniasz, w jaki sposób wyrażenia lambda są w rzeczywistości tylko cukrem składniowym dla delegata lub drzewa wyrażeń. –