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

C#-এ প্যারামিটার পাস করার বিভিন্ন পদ্ধতি কী কী?

যখন প্যারামিটারসহ একটি মেথড কল করা হয়, তবে আপনাকে নিম্নলিখিত তিনটি পদ্ধতির যেকোনো একটি ব্যবহার করে প্যারামিটার পাস করতে হয়:

১. রেফারেন্স প্যারামিটার (Reference Parameters)

এই পদ্ধতিতে আর্গুমেন্টের মেমরি লোকেশনের রেফারেন্স ফরম্যাল প্যারামিটারে কপি হয়। এর মানে প্যারামিটারে করা পরিবর্তন আর্গুমেন্টকে প্রভাবিত করে।

২. ভ্যালু প্যারামিটার (Value Parameters)

এই পদ্ধতিতে আর্গুমেন্টের আসল মান ফাংশনের ফরম্যাল প্যারামিটারে কপি হয়। এই ক্ষেত্রে, ফাংশনের ভেতরে প্যারামিটারে করা পরিবর্তনের আর্গুমেন্টের ওপর কোনো প্রভাব নেই।

ভ্যালু প্যারামিটারে, যখন একটি মেথড কল হয়, তখন প্রতিটি ভ্যালু প্যারামিটারের জন্য নতুন স্টোরেজ লোকেশন তৈরি হয়। আসল প্যারামিটারগুলোর মান সেখানে কপি হয়। তাই, মেথডের ভেতরে প্যারামিটারে করা পরিবর্তনের আর্গুমেন্টের ওপর কোনো প্রভাব নেই।

ভ্যালু প্যারামিটার উদাহরণ

using System; 
namespace CalculatorApplication { 
    class NumberManipulator { 
        public void swap(int x, int y) { 
            int temp; 
            temp = x; 
            x = y; 
            y = temp; 
        } 
        static void Main(string[] args) { 
            NumberManipulator n = new NumberManipulator(); 
            int a = 7; 
            int b = 10; 
            Console.WriteLine("Before swap, value of a : {0}", a); 
            Console.WriteLine("Before swap, value of b : {0}", b); 
            n.swap(a, b); 
            Console.WriteLine("After swap, value of a : {0}", a); 
            Console.WriteLine("After swap, value of b : {0}", b); 
            Console.ReadLine(); 
        } 
    } 
}

আউটপুট

Before swap, value of a : 7
Before swap, value of b : 10
After swap, value of a : 7
After swap, value of b : 10

নোট: আউটপুট থেকে দেখা যায় যে, মেথড কলের পরও a এবং b-এর মান অপরিবর্তিত রয়েছে কারণ ভ্যালু প্যারামিটার ব্যবহার করা হয়েছে।

  1. C#.NET-এ বিভিন্ন অ্যাক্সেস স্পেসিফায়ারগুলো কী কী?

  2. C#-এ 'new' কীওয়ার্ডের ব্যবহার

  3. C#-এ ref এবং out প্যারামিটার এর পার্থক্য

  4. পাইথনে বিভিন্ন ডেটা কনভারশন মেথডগুলো