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

تفاوت Func<> و Expression<Func<>> چیست؟

نشان کردن

پاسخ کوتاه

Func<> یک Delegate اجرایی است؛ Expression<Func<>> نمایش درختی از کد است که قابل تحلیل و ترجمه است.

پاسخ کامل

Func<> بلافاصله به کد اجرایی کامپایل می‌شود و فقط قابل فراخوانی است. Expression<Func<>> ساختار عبارت را به‌صورت درخت (Expression Tree) نگه می‌دارد که می‌توان آن را قبل از اجرا بررسی، تغییر یا به زبانی دیگر (مثل SQL) ترجمه کرد.