CodeShot
Seniorسختی 3 از ۵· در 55٪ مصاحبه‌های این حوزه پرسیده شده

آیا هر Lambda به Expression Tree تبدیل می‌شود؟

نشان کردن

پاسخ کوتاه

خیر؛ فقط Lambdaهایی که کامپایلر بتواند تبدیل کند، و Expression Tree محدودیت‌هایی هم دارد.

پاسخ کامل

تبدیل یک Lambda به Expression Tree فقط زمانی رخ می‌دهد که متغیر یا پارامتر از نوع Expression<TDelegate> باشد. همچنین همه قابلیت‌های زبان C# (مثل بلوک‌های کد چندخطی یا برخی عبارات پیچیده) در Expression Tree پشتیبانی نمی‌شوند.