ল্যাম্বডা এক্সপ্রেশন একটি বেনামী পদ্ধতি উপস্থাপন করার একটি ভাল উপায়। বেনামী পদ্ধতি এবং ল্যাম্বডা এক্সপ্রেশন উভয়ই আপনাকে পদ্ধতি বাস্তবায়ন ইনলাইনে সংজ্ঞায়িত করতে দেয়, তবে, একটি বেনামী পদ্ধতির জন্য আপনাকে স্পষ্টভাবে প্যারামিটারের ধরন এবং একটি পদ্ধতির জন্য রিটার্ন টাইপ সংজ্ঞায়িত করতে হবে।
এক্সপ্রেশন ল্যাম্বডা যার শরীর হিসাবে একটি অভিব্যক্তি রয়েছে:(ইনপুট−প্যারামিটার) => অভিব্যক্তি
স্টেটমেন্ট ল্যাম্বডা যার বডি হিসাবে একটি স্টেটমেন্ট ব্লক আছে:(ইনপুট−প্যারামিটার) => {
যেকোন ল্যাম্বডা এক্সপ্রেশনকে ডেলিগেট টাইপে রূপান্তরিত করা যেতে পারে। যে ডেলিগেট টাইপটিতে একটি ল্যাম্বডা এক্সপ্রেশন কনভার্ট করা যায় সেটির প্যারামিটার এবং রিটার্ন ভ্যালুর ধরন দ্বারা সংজ্ঞায়িত করা হয়। যদি একটি ল্যাম্বডা এক্সপ্রেশন একটি মান ফেরত না দেয়, তবে এটি অ্যাকশন প্রতিনিধি প্রকারের একটিতে রূপান্তরিত হতে পারে; অন্যথায়, এটি Func প্রতিনিধি প্রকারের একটিতে রূপান্তরিত হতে পারে।
static void Main(string[] args){ Func<int, int> square = x => x * x; Console.WriteLine(square(5)); Console.ReadLine(); }
=> অপারেটরের ডান পাশে একটি এক্সপ্রেশন সহ ল্যাম্বডা এক্সপ্রেশনকে এক্সপ্রেশন ল্যাম্বডা বলা হয়। একটি অভিব্যক্তি ল্যাম্বডা অভিব্যক্তির ফলাফল প্রদান করে এবং নিম্নলিখিত মৌলিক রূপ নেয়
অ্যাকশন লাইন =() => Console.WriteLine();
Func
Func
Func
C# 7.0, C# ভাষা টিপলের জন্য অন্তর্নির্মিত সমর্থন প্রদান করে। আপনি একটি ল্যাম্বডা এক্সপ্রেশনের যুক্তি হিসাবে একটি টিপল প্রদান করতে পারেন এবং আপনার ল্যাম্বডা এক্সপ্রেশনটি একটি টিপল প্রদান করতে পারে।
ল্যাম্বডা এক্সপ্রেশনের মধ্যে প্রবর্তিত ভেরিয়েবলগুলি ঘেরা পদ্ধতিতে দৃশ্যমান নয়৷
একটি ল্যাম্বডা এক্সপ্রেশন এনক্লোজিং পদ্ধতি থেকে সরাসরি একটি ইন, রেফ বা আউট প্যারামিটার ক্যাপচার করতে পারে না।
একটি ল্যাম্বডা এক্সপ্রেশনে একটি রিটার্ন স্টেটমেন্ট এনক্লোজিং পদ্ধতিতে ফিরে আসে না।
একটি ল্যাম্বডা এক্সপ্রেশনে একটি গোটো, বিরতি বা অবিরত বিবৃতি থাকতে পারে না যদি সেই জাম্প স্টেটমেন্টের লক্ষ্য ল্যাম্বডা এক্সপ্রেশন ব্লকের বাইরে থাকে। লক্ষ্যটি ব্লকের ভিতরে থাকলে ল্যাম্বডা এক্সপ্রেশন ব্লকের বাইরে একটি জাম্প স্টেটমেন্ট থাকাও একটি ত্রুটি।