কীভ্যালিউপায়ার ভিএস ডিকশনারিএন্ট্রি


116

জেনেরিক সংস্করণ এবং ডিকশনারিএন্ট্রি যা কীভ্যালিউ পেয়ারের মধ্যে পার্থক্য কী?

জেনেরিক অভিধান ক্লাসে অভিধানভেন্তির পরিবর্তে কীভ্যালিউপায়ার ব্যবহার করা হয়?

উত্তর:


108

KeyValuePair<TKey,TValue>DictionaryEntryএটি উদার করা হয় কারণ জায়গায় ব্যবহৃত হয় । একটি ব্যবহার করার সুবিধাটি KeyValuePair<TKey,TValue>হ'ল আমরা আমাদের অভিধানে কী আছে সে সম্পর্কে সংকলকটিকে আরও তথ্য দিতে পারি। ক্রিসের উদাহরণকে প্রসারিত করতে (এতে আমাদের <string, int>জোড়া রয়েছে এমন দুটি অভিধান রয়েছে )।

Dictionary<string, int> dict = new Dictionary<string, int>();
foreach (KeyValuePair<string, int> item in dict) {
  int i = item.Value;
}

Hashtable hashtable = new Hashtable();
foreach (DictionaryEntry item in hashtable) {
  // Cast required because compiler doesn't know it's a <string, int> pair.
  int i = (int) item.Value;
}

4
নিশ্চয়ই এটি সাধারণীকরণ?
— ড্যানিয়েলকোপার্সিজিজ

26
অবশ্যই এটি জেনারাইজড (লাইমাইফাইড), বা জেনেরিকাইজড (ইয়াঙ্কিফাইড)
— জেনসন-বাটন-ইভেন্ট

7
আপনি যে শব্দটির সন্ধান করছেন তা সাধারণীকরণযোগ্য । ;)
— জেসন

5
আরো হিসাবে "generified" জেনেরিক না সাধারণ
— TheGeekZn

2
আমি কি একমাত্র যিনি উদার কথা বলব?
— মাউরো সাম্পিয়েট্রো

51

কীভ্যালিউপায়ার <টি, টি> অভিধান <টি, টি> এর মাধ্যমে পুনরাবৃত্তি করার জন্য। এটি কাজগুলি করার নেট নেট 2 (এবং এরপরে)।

হ্যাশ টেবিলগুলির মাধ্যমে পুনরাবৃত্তি করার জন্য অভিধানইন্ট্রি। এটি কাজগুলি করার নেট। 1 উপায়।

এখানে একটি উদাহরণ:

Dictionary<string, int> MyDictionary = new Dictionary<string, int>();
foreach (KeyValuePair<string, int> item in MyDictionary)
{
  // ...
}

Hashtable MyHashtable = new Hashtable();
foreach (DictionaryEntry item in MyHashtable)
{
  // ...
}

4
কীভ্যালিউপায়ারটি জেনেরিক্স, অন্যটি প্রাক-জেনেরিক। প্রাক্তন ব্যবহারের পরামর্শ দেওয়া হয়
— গিশু

1
আমি মনে করি তিনি বুঝতে পেরেছেন যে একটি জেনেরিকের জন্য এবং অন্যটি জেনারিকদের জন্য। আমি মনে করি তাঁর প্রশ্নটি কেন আমাদের উভয়ের দরকার?
— সিডিএমকেয়ে

3
তিনি যদি এটিই জিজ্ঞাসা করছেন, ভাল, আমাদের উভয়েরই দরকার নেই - এটি ঠিক যে জেনেরিকগুলি নেট 2 অবধি পাওয়া যায় নি এবং তারা নন-জেনেরিক জিনিসগুলি পিছনের সামঞ্জস্যের জন্য রেখে দেয়। কিছু লোক এখনও অ-জেনেরিক জিনিসগুলি ব্যবহার করতে পছন্দ করতে পারে তবে এটি উচ্চ প্রস্তাবিত নয়।
— ক্রিস

এই উত্তরটি আমার আরও অর্থবোধ করেছে।
— মেরিন নাকারমি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.