C # এর মধ্যে একটি indexer একটি বস্তু একটি অ্যারে হিসাবে যেমন সূচীবদ্ধ করা সম্ভব হবে। যখন একটি ক্লাসের জন্য একটি indexer সংজ্ঞায়িত করা হয়, এই শ্রেণীর একটি ভার্চুয়াল অ্যারের অনুরূপ আচরণ করে। এর পরে আপনি অ্যারে এক্সেস অপারেটর ব্যবহার করে এই ক্লাসের নিদর্শনের সঙ্গে প্রবেশ করতে পারবেন ([])।
Indexers ওভারলোড করা যেতে পারে। Indexers এছাড়াও একাধিক পরামিতি সঙ্গে ঘোষিত করা যেতে পারে এবং প্রতিটি পরামিতি বিভিন্ন ধরনের হতে পারে।
নিম্নলিখিত C # ওভারলোড indexers একটি উদাহরণ -
উদাহরণ
সিস্টেম ব্যবহারusing System; namespace IndexerApplication { class IndexedNames { private string[] namelist = new string[size]; static public int size = 10; public IndexedNames() { for (int i = 0; i < size; i++) { namelist[i] = "N. A."; } } public string this[int index] { get { string tmp; if( index >= 0 && index <= size-1 ) { tmp = namelist[index]; } else { tmp = ""; } return ( tmp ); } set { if( index >= 0 && index <= size-1 ) { namelist[index] = value; } } } public int this[string name] { get { int index = 0; while(index < size) { if (namelist[index] == name) { return index; } index++; } return index; } } static void Main(string[] args) { IndexedNames names = new IndexedNames(); names[0] = "John"; names[1] = "Joe"; names[2] = "Graham"; names[3] = "William"; names[4] = "Jack"; names[5] = "Tom"; names[6] = "Tim"; //using the first indexer with int parameter for (int i = 0; i < IndexedNames.size; i++) { Console.WriteLine(names[i]); } //using the second indexer with the string parameter Console.WriteLine(names["Nuha"]); Console.ReadKey(); } } }
আউটপুট
John Joe Graham William Jack Tom Tim N. A. N. A. N. A. 10