OrderedDictionaryOverloads ইন্ডেক্স অপারেশন তাই একটি পূর্ণসংখ্যা সঙ্গে যে ইন্ডেক্স Nঅবস্থানে আইটেমটি পাবেন N, যখন একটি সঙ্গে সূচিবদ্ধ Objectআইটেম বস্তু coresponding উদ্ধার করা। এক একটি তৈরি করতে হলে OrderedDictionary<int, string>বলা myDict, এবং যোগ আইটেম (1, "জর্জ") এবং (0, "ফ্রেড"), যাতে, should myDict[0]"জর্জ" বা "ফ্রেড" আসতে?
মূল ধরণের উপর কোনও শ্রেণি বাধা চাপিয়ে এই জাতীয় সমস্যা সমাধান করা যেত। অন্যদিকে, জেনেরিক সংগ্রহের বেশিরভাগ উপযোগিতা তাদের মূল্যবোধের সাথে দক্ষতার সাথে কাজ করার ক্ষমতা থেকে উদ্ভূত। মূল ধরণের উপর একটি শ্রেণির সীমাবদ্ধতা আরোপ করা কিছুটা কুৎসিত মনে হবে।
ক্লাসটি যদি সিএলএসের অনুগত না হত তবে কেবল ভিবিএন নেটওয়্যারের সাথে কাজ করতে হত তবে একটি বুদ্ধিমান নকশাকৃত নামযুক্ত সূচকযুক্ত বৈশিষ্ট্য ব্যবহার করা যেতে পারে। সুতরাং, উপরের উদাহরণে, myDict.ByKey[0]"ফ্রেড" উপস্থাপন myDict.BySequence[0]করতে হবে , এবং "জর্জ" উপার্জন করেছেন। দুর্ভাগ্যক্রমে, সি # এর মতো ভাষাগুলি নামযুক্ত সূচকযুক্ত বৈশিষ্ট্যগুলি সমর্থন করে না। যদিও এই জাতীয় বৈশিষ্ট্য ছাড়াই উপরের সিনট্যাক্সটি ব্যবহারের জন্য কেউ কিছু কলসড করতে পারত, কাঠামোর ক্ষেত্রগুলিকে মোড়ানোর দুর্ভাগ্যজনক সিদ্ধান্ত Pointএবং এর Rectangleঅর্থ এই যে myDict.ByKey[0] = "Wally"কাজ করার জন্য myDict.ByKeyএকটি নতুন শ্রেণীর অবজেক্ট ফিরে আসতে হবে। একটি কাঠামো আরও দক্ষ হবে, তবে সংকলকরা কেবল পঠনযোগ্য কাঠামোর লেখার মতো দেখতে প্রত্যাখ্যান করবে (তবুও সম্পত্তি যে স্ট্রাক্ট দ্বারা ফিরিয়ে দেওয়া কাঠামোটি পরিবর্তন করবে নাByKey, তবে পরিবর্তে সংগ্রহটি পরিবর্তন করুন যেখানে এটি একটি রেফারেন্স রাখে)।
ব্যক্তিগতভাবে, আমি মনে করি একটি অভিধান-ইশ অবজেক্ট যা সন্নিবেশ ক্রমের উপর নজর রাখার জন্য নির্দিষ্ট করা হয়েছিল তা হ'ল একটি সুন্দর জিনিস হবে; আমি একটি অভিধান-ইশ অবজেক্টটিও চাই যা সহজে কোনও নির্দিষ্ট কীটির সাথে যুক্ত কীটি সহজেই ফিরিয়ে দিতে পারে (যাতে উদাহরণস্বরূপ যদি কারও ক্ষেত্রে সংবেদনশীল অভিধান থাকে এবং "জর্জি" কী দিয়ে একটি রেকর্ড যুক্ত করা হয়, একটি KeyValuePairএকটি গণনায় ফিরে আসা সমস্ত বস্তুর সন্ধান না করেই কী "জর্জ" এর সাথে কী সম্পর্কিত তা অভিধান জিজ্ঞাসা করতে পারে ।
SortedDictionary<TKey, TValue>: এমএসডিএন.মাইক্রোসফটকম /en-us/library/f7fta44c.aspx