C#-এ অ্যারে একটি রেফারেন্স টাইপ। মেথডে অ্যারে পাস করলে এর রেফারেন্স পাস হয়, অর্থাৎ মেথডের ভিতরে অ্যারেতে করা পরিবর্তন মূল অ্যারেতেও প্রতিফলিত হবে।
উদাহরণ: অ্যারে পাস করে যোগফল বের করা
using System;
namespace Test {
class Demo {
int displaySum(int[] arr, int size) {
int sum = 0;
for (int i = 0; i < size; ++i) {
sum += arr[i];
}
return sum;
}
static void Main(string[] args) {
Demo d = new Demo();
int[] myArr = new int[] { 59, 34, 76, 65, 12, 99 };
int sum = d.displaySum(myArr, 5); // প্রথম ৫টি এলিমেন্টের যোগফল
Console.WriteLine("Sum: {0}", sum); // 59+34+76+65+12 = 246
Console.ReadKey();
}
}
}
আউটপুট
Sum: 246
গুরুত্বপূর্ণ পয়েন্টগুলো
- অ্যারে রেফারেন্স বাই রেফারেন্স পাস হয় (রেফারেন্সের কপি পাস হয়)।
- মেথডের ভিতরে
arr[i] = ...করলে মূল অ্যারে পরিবর্তিত হয়। - যদি মেথডের ভিতরে
arr = new int[10]লিখা হয়, তবে মূল অ্যারে অপরিবর্তিত থাকে (রেফারেন্স পরিবর্তন হয়)। paramsকিওয়ার্ড ব্যবহার করে ভেরিয়েবল আর্গুমেন্ট হিসেবে অ্যারে পাস করা যায়।
params উদাহরণ
int Sum(params int[] numbers) {
int sum = 0;
foreach (int n in numbers) sum += n;
return sum;
}
// কল করা
int total = Sum(1, 2, 3, 4, 5); // অ্যারে এক্সপ্লিসিটলি বানাতে হয় না