कृपया, सबसे छोटा रास्ता Dictionary<Key, Value>
Hashset<Value>
सी #: शब्दकोश मूल्यों रूपांतरण HashSet को
कन्वर्ट करने के लिए सुझाव है कि वहाँ है निर्मित ToHashset() LINQ IEnumerables के लिए विस्तार?
अग्रिम धन्यवाद!
कृपया, सबसे छोटा रास्ता Dictionary<Key, Value>
Hashset<Value>
सी #: शब्दकोश मूल्यों रूपांतरण HashSet को
कन्वर्ट करने के लिए सुझाव है कि वहाँ है निर्मित ToHashset() LINQ IEnumerables के लिए विस्तार?
अग्रिम धन्यवाद!
var yourSet = new HashSet<TValue>(yourDictionary.Values);
या, यदि आप चाहें, तो आप प्रकार के संदर्भ को संभालने के लिए अपनी सरल विस्तार विधि को खारिज कर सकते हैं। यह सवाल
var yourSet = yourDictionary.Values.ToHashSet();
// ...
public static class EnumerableExtensions
{
public static HashSet<T> ToHashSet<T>(this IEnumerable<T> source)
{
return source.ToHashSet<T>(null);
}
public static HashSet<T> ToHashSet<T>(
this IEnumerable<T> source, IEqualityComparer<T> comparer)
{
if (source == null) throw new ArgumentNullException("source");
return new HashSet<T>(source, comparer);
}
}
new HashSet<Value>(YourDict.Values);
और जवाब मेरे लिए कोई मतलब नहीं है: तो फिर आप स्पष्ट रूप से संग्रह के रूप में सोचा जाना चाहिए। किसी शब्दकोष से सभी मूल्यों को लेने और उन्हें मेरे लिए हैशसेट में असाइन करने का अर्थ नहीं है। –
HashSet<T>
कीT
निर्दिष्ट करना होगा नहीं। एमएसडीएन के अनुसार, हैशसेट में डुप्लिकेट तत्व नहीं हो सकते हैं और मूल्यों के बिनादुर्भाग्य से, एक KeyCollection ऑब्जेक्ट हैशसेट ऑब्जेक्ट जैसा नहीं है, इसके बावजूद कि मैं कितना चाहता हूं। – Paul
इस प्रश्न को ध्यान में रखते हुए 5 साल का है; मैं @ क्रिस्टोफरपेन्टर से सहमत हूं। क्या बात है? जहां तक विशिष्टता का सवाल है (हालांकि इस विशेष प्रश्न का उत्तर नहीं है) क्या अधिक समझ में आता है: 'नया हैशसेट (myDictionary.Keys) '। –
Heliac