ল্যাম্বডা এক্সপ্রেশন কী এবং এর ব্যবহার

ল্যাম্বডা এক্সপ্রেশন সি#-এর একটি সংক্ষিপ্ত পদ্ধতি, যা ফাংশন বা মেথড লেখাকে সহজ এবং সংক্ষিপ্ত করে তোলে। এটি এনোনিমাস মেথডের মতোই কাজ করে, তবে এর সিনট্যাক্স আরও সহজ এবং স্পষ্ট। সাধারণত, ল্যাম্বডা এক্সপ্রেশন ডেলিগেট, LINQ, ইভেন্ট এবং ফাংশনাল প্রোগ্রামিং প্যাটার্নে ব্যবহৃত হয়।

ল্যাম্বডা এক্সপ্রেশন কীভাবে লেখা হয়?

ল্যাম্বডা এক্সপ্রেশন লেখার নিয়ম:

(parameters) => expression_or_statement_block;
  • parameters: এটি ইনপুট প্যারামিটার বা আর্গুমেন্ট যা এক্সপ্রেশনে প্রয়োজন।
  • =>: এটি ল্যাম্বডা অপারেটর যা প্যারামিটার এবং এক্সপ্রেশনের মাঝে থাকে।
  • expression_or_statement_block: এটি সেই এক্সপ্রেশন বা কোড ব্লক যা এক্সিকিউট হবে।

সহজ উদাহরণ

নিচে একটি সাধারণ ল্যাম্বডা এক্সপ্রেশন দেওয়া হয়েছে, যা দুটি সংখ্যার যোগফল বের করে:

Func<int, int, int> add = (a, b) => a + b;
Console.WriteLine(add(5, 3)); // Output: 8

এখানে, Func<int, int, int> ডেলিগেটটি ব্যবহার করা হয়েছে, যা দুটি int প্যারামিটার গ্রহণ করে এবং একটি int রিটার্ন করে। (a, b) => a + b অংশটি ল্যাম্বডা এক্সপ্রেশন, যেখানে a এবং b প্যারামিটার এবং a + b হচ্ছে আউটপুট।

ল্যাম্বডা এক্সপ্রেশন ব্যবহার কেন?

১. সোজা এবং সংক্ষিপ্ত কোড: ল্যাম্বডা এক্সপ্রেশন কোডকে সহজ এবং সংক্ষিপ্ত করে তোলে। ২. LINQ এ ব্যবহৃত হয়: LINQ (Language Integrated Query) এ ল্যাম্বডা এক্সপ্রেশন প্রায়শই ব্যবহৃত হয়। ৩. কাস্টমাইজড ফাংশন পারামিটার: এটি ফাংশন বা মেথডে কাস্টমাইজড ফাংশনালিটি যুক্ত করতে সাহায্য করে।

উদাহরণ ১: ল্যাম্বডা এক্সপ্রেশন এবং LINQ ব্যবহার

LINQ এ ল্যাম্বডা এক্সপ্রেশন অনেক বেশি ব্যবহৃত হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি সংখ্যার তালিকায় ফিল্টারিং করা হয়েছে।

using System;
using System.Collections.Generic;
using System.Linq;

public class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

        // ল্যাম্বডা এক্সপ্রেশন ব্যবহার করে শুধুমাত্র জোড় সংখ্যা ফিল্টার করা
        var evenNumbers = numbers.Where(n => n % 2 == 0).ToList();

        Console.WriteLine("Even Numbers:");
        evenNumbers.ForEach(n => Console.WriteLine(n));
    }
}

এখানে, n => n % 2 == 0 ল্যাম্বডা এক্সপ্রেশন ব্যবহার করে numbers তালিকার মধ্যে জোড় সংখ্যা ফিল্টার করা হয়েছে।

উদাহরণ ২: Action এবং Predicate এর সাথে ল্যাম্বডা এক্সপ্রেশন

ল্যাম্বডা এক্সপ্রেশন Action এবং Predicate ডেলিগেটের সাথে সহজেই ব্যবহার করা যায়।

using System;

public class Program
{
    public static void Main()
    {
        // Action ব্যবহার করে ল্যাম্বডা এক্সপ্রেশন
        Action<string> greet = name => Console.WriteLine("Hello, " + name);
        greet("John"); // Output: Hello, John

        // Predicate ব্যবহার করে ল্যাম্বডা এক্সপ্রেশন
        Predicate<int> isEven = number => number % 2 == 0;
        Console.WriteLine(isEven(4)); // Output: True
    }
}

উপরের উদাহরণে,

  • Action<string> ব্যবহার করে একটি ল্যাম্বডা এক্সপ্রেশন তৈরি করা হয়েছে, যা একটি স্ট্রিং ইনপুট গ্রহণ করে এবং কনসোলে গ্রিটিং মেসেজ দেখায়।
  • Predicate<int> ব্যবহার করে ল্যাম্বডা এক্সপ্রেশন তৈরি করা হয়েছে, যা একটি সংখ্যা গ্রহণ করে এবং সেটি জোড় কি না তা যাচাই করে।

জটিল ল্যাম্বডা এক্সপ্রেশন (Statement Block)

ল্যাম্বডা এক্সপ্রেশন শুধুমাত্র একটি এক্সপ্রেশন নয়, বরং একটি স্টেটমেন্ট ব্লকও হতে পারে। একাধিক লাইন লিখতে {} ব্যবহার করতে হবে।

Func<int, int, int> multiply = (a, b) =>
{
    Console.WriteLine("Multiplying " + a + " and " + b);
    return a * b;
};

Console.WriteLine(multiply(5, 4)); // Output: Multiplying 5 and 4, Result: 20

এখানে ল্যাম্বডা এক্সপ্রেশন স্টেটমেন্ট ব্লক আকারে লেখা হয়েছে, যেখানে কনসোলে একটি মেসেজ প্রিন্ট করার পরে গুণফল রিটার্ন করা হচ্ছে।

সংক্ষেপে

ল্যাম্বডা এক্সপ্রেশন সি#-এ কোড লেখাকে সহজ, সংক্ষিপ্ত এবং ফাংশনাল করে তোলে। এটি LINQ এবং ডেলিগেটের সাথে ব্যবহারের জন্য গুরুত্বপূর্ণ। ল্যাম্বডা এক্সপ্রেশন ব্যবহার করে আপনি দ্রুত এবং দক্ষভাবে কোড লিখতে পারবেন, বিশেষ করে যেখানে ফাংশনাল প্রোগ্রামিং প্রয়োজন।

Content added By

আরও দেখুন...

Promotion