C#-এ প্যারামিটার পাস করা হয় বা तो ভ্যালু দিয়ে (by value) অথবা রেফারেন্স দিয়ে (by reference)। এর পাশাপাশি out প্যারামিটার এবং params অ্যারে ব্যবহার করে প্যারামিটার পাস করা যায়।
ভ্যালু দিয়ে (By Value)
এই মেথডে আর্গুমেন্টের আসল মান ফরমাল প্যারামিটারে কপি হয়। এই কেসে, ফাংশনের ভিতরে প্যারামিটারে করা যেকোনো পরিবর্তনের আর্গুমেন্টের ওপর কোনো প্রভাব পড়ে না।
রেফারেন্স দিয়ে (By Reference)
এই মেথডে আর্গুমেন্টের মেমরি লোকেশনের রেফারেন্স ফরমাল প্যারামিটারে কপি হয়। এর মানে হলো, প্যারামিটারে করা পরিবর্তন আর্গুমেন্টকে প্রভাবিত করে।
আউট (Out)
একটি return স্টেটমেন্ট শুধু একটি মান ফাংশন থেকে ফেরত দিতে পারে। কিন্তু আউট প্যারামিটার ব্যবহার করে আপনি দুটি মান ফাংশন থেকে ফেরত দিতে পারেন। আউট প্যারামিটার রেফারেন্স প্যারামিটারের মতো, সિવায় সেগুলো মেথডের বাইরে ডেটা ট্রান্সফার করে, মেথডের ভিতরে না।
প্যারাম (Params)
একটি মেথড ডিক্লেয়ার করার সময় আপনি নিশ্চিত নন যে কতগুলো আর্গুমেন্ট প্যারামিটার হিসেবে পাস হবে। C# param অ্যারে এই বিষয়ে জানতে সাহায্য করে।
Param উদাহরণ
using System;
namespace Program {
class ParamArray {
public int AddElements(params int[] arr) {
int sum = 0;
foreach (int i in arr) {
sum += i;
}
return sum;
}
}
class Demo {
static void Main(string[] args) {
ParamArray app = new ParamArray();
int sum = app.AddElements(300, 250, 350, 600, 120);
Console.WriteLine("The sum is: {0}", sum);
Console.ReadKey();
}
}
}