কম্পিউটার টিউটোরিয়াল

C#-এ মেথড প্যারামিটার

C#-এ মেথড প্যারামিটারগুলো ডেটা পাস করার এবং রিসিভ করার মাধ্যম। মেথড সিগনেচারের অংশ হিসেবে প্যারামিটার লিস্ট ডিক্লেয়ার করা হয়।

মেথড সিন্ট্যাক্সের উপাদান

  • Access Specifier — ভিজিবিলিটি (public, private, protected, internal)।
  • Return Type — রিটার্ন টাইপ (void হলে কিছু রিটার্ন করে না)।
  • Method Name — অনন্য আইডেন্টিফায়ার (কেস-সেনসিটিভ)।
  • Parameter List — প্যারেনথেসিসের ভিতরে টাইপ, অর্ডার, সংখ্যা। অপশনাল।
  • Method Body — লজিক বা ইন্সট্রাকশনগুলো।

প্যারামিটার টাইপ

প্রকারবর্ণনা
Value Parameterডিফল্ট। আর্গুমেন্টের কপি পাস হয় (by value)।
Reference Parameter (ref)আর্গুমেন্টের রেফারেন্স পাস হয়; মেথডে পরিবর্তন করলে মূল ভ্যারিয়েবল পরিবর্তিত হয়।
Output Parameter (out)ref-এর মতো, কিন্তু মেথডে এন্ট্রি করার আগে ইনিশিয়ালাইজড থাকতে হয় না; মেথডে অবশ্যই অ্যাসাইন করতে হয়।
Params Arrayparams কীওয়ার্ড দিয়ে ভেরিয়েবল সংখ্যক আর্গুমেন্ট গ্রহণ করে।
Optional Parameterডিফল্ট মান দিয়ে ডিক্লেয়ার করা হয়; কল করার সময় বাদ দেওয়া যায়।
Named Argumentকল করার সময় নাম দিয়ে আর্গুমেন্ট পাস করা (অর্ডার মেনে চলতে হয় না)।

উদাহরণ: সিম্পল মেথড ও ভ্যালু প্যারামিটার

using System;

public class NumberManipulator {
    public int FindMax(int num1, int num2) {
        int result;
        if (num1 > num2)
            result = num1;
        else
            result = num2;
        return result;
    }

    public static void Main(string[] args) {
        int a = 500;
        int b = 750;
        int ret;
        NumberManipulator n = new NumberManipulator();
        ret = n.FindMax(a, b);
        Console.WriteLine("Max value = " + ret);
    }
}

আউটপুট

Max value = 750

আরও উদাহরণ: ref, out, params

using System;

public class ParamDemo {
    // ref parameter
    public void ModifyRef(ref int x) {
        x = 20;
    }

    // out parameter
    public void GetValues(out int a, out int b) {
        a = 10;
        b = 20;
    }

    // params array
    public int Sum(params int[] numbers) {
        int total = 0;
        foreach(int n in numbers) total += n;
        return total;
    }

    public static void Main() {
        ParamDemo d = new ParamDemo();

        int val = 5;
        d.ModifyRef(ref val);
        Console.WriteLine("After ModifyRef: " + val); // 20

        int x, y;
        d.GetValues(out x, out y);
        Console.WriteLine("Out params: " + x + ", " + y); // 10, 20

        Console.WriteLine("Sum: " + d.Sum(1, 2, 3, 4, 5)); // 15
        Console.WriteLine("Sum array: " + d.Sum(new int[] {10, 20})); // 30
    }
}

সারসংক্ষেপ

  • ভ্যালু টাইপ (int, struct) ডিফল্টভাবে ভ্যালু পাস হয়; রেফারেন্স টাইপ (class, array) রেফারেন্স পাস হয়।
  • ref — ইনপুট/আউটপুট দুটোই।
  • out — শুধু আউটপুট (মেথডে অ্যাসাইন করা বাধ্যতামূলক)।
  • params — ভেরিয়েবল আর্গুমেন্ট লিস্ট।
  1. C#-এ CompareTo মেথড

  2. C#-এ মেথডে প্যারামিটার কীভাবে পাস করবেন?

  3. C#-এ param অ্যারে ব্যবহার করে মেথডে প্যারামিটার পাস করা

  4. রুবির Array#zip আয়ত্ত করুন: দক্ষ অ্যারে পেয়ারিং এবং তুলনা