C#-এ পয়েন্টার ব্যবহারের জন্য unsafe মডিফায়ার আবশ্যক। এছাড়া fixed কিওয়ার্ড ব্যবহার করে অ্যারে এলিমেন্ট পয়েন্টারের মাধ্যমে অ্যাক্সেস করা যায়। এটি इसलিয়ে কেননা অ্যারে এবং পয়েন্টার ডেটা টাইপ এক নয়। উদাহরণস্বরূপ: int[] টাইপ int* টাইপের সমান নয়।
উদাহরণ
using System;
namespace PointerDemo {
class Example {
public unsafe static void Main() {
int[] array = {55, 23, 90, 76, 9, 57, 18, 89, 23, 5};
int n = array.Length;
fixed(int *ptr = array)
for ( int i = 0; i < n; i++) {
Console.WriteLine("array[{0}] = {1}", i, *(ptr + i));
}
}
}
}
আউটপুট
array[0] = 55 array[1] = 23 array[2] = 90 array[3] = 76 array[4] = 9 array[5] = 57 array[6] = 18 array[7] = 89 array[8] = 23 array[9] = 5
প্রোগ্রাম ব্যাখ্যা
অ্যারেতে int টাইপের ১০টি মান রয়েছে। fixed কিওয়ার্ড ব্যবহার করে পয়েন্টার ptr অ্যারেতের শুরুতে নির্দেশ করে। তারপর একটি for লুপ ব্যবহার করে সমস্ত অ্যারে মান প্রদর্শন করা হয়।