কেন এটি সম্ভব নয় তা নিয়ে আমি এই প্রশ্নটি পড়েছি , তবে সমস্যার কোনও সমাধান পাইনি।
আমি একটি নেট থেকে একটি আইটেম পুনরুদ্ধার করতে চাই HashSet<T>
। আমি এমন একটি পদ্ধতির সন্ধান করছি যাতে এই স্বাক্ষর থাকবে:
/// <summary>
/// Determines if this set contains an item equal to <paramref name="item"/>,
/// according to the comparison mechanism that was used when the set was created.
/// The set is not changed. If the set does contain an item equal to
/// <paramref name="item"/>, then the item from the set is returned.
/// </summary>
bool TryGetItem<T>(T item, out T foundItem);
এই জাতীয় পদ্ধতিতে কোনও আইটেমের জন্য সেট অনুসন্ধান করা হবে ও (1)। একটি থেকে কোনও আইটেম পুনরুদ্ধারের একমাত্র উপায় HashSet<T>
হ'ল সমস্ত আইটেমগুলি গণনা করা যা হে (এন)।
আমার নিজের তৈরি HashSet<T>
বা এটিকে ব্যবহার করে অন্য কোনও সমস্যার জন্য আমি কোনও মতবিরোধ খুঁজে পাইনি Dictionary<K, V>
। অন্য কোন ধারণা?
দ্রষ্টব্য:
আমি HashSet<T>
আইটেমটি আছে কিনা তা পরীক্ষা করতে চাই না । আমি সংরক্ষিত আইটেমটির রেফারেন্স পেতে চাই HashSet<T>
কারণ আমার এটি আপডেট করতে হবে (এটি অন্য কোনও উদাহরণের মাধ্যমে প্রতিস্থাপন না করে)। আমি যে আইটেমটিতে যাব তা TryGetItem
সমান হবে (তুলনামূলক পদ্ধতিটি যা আমি কনস্ট্রাক্টরের কাছে দিয়েছি) তবে এটি একই রেফারেন্স হবে না।