में एक HashSet
string[] BlockedList = BlockList.Split(new char[] { ';' },
StringSplitOptions.RemoveEmptyEntries);
मुझे इस सूची को hashset
पर परिवर्तित करने की आवश्यकता है।
में एक HashSet
string[] BlockedList = BlockList.Split(new char[] { ';' },
StringSplitOptions.RemoveEmptyEntries);
मुझे इस सूची को hashset
पर परिवर्तित करने की आवश्यकता है।
आप यह निर्दिष्ट नहीं BlockedList
है कि किस प्रकार, इसलिए मैं यह कुछ है कि IList
से निकला है (यदि String
कहने के लिए जहां BlockList
लिखा था तो यह एक स्ट्रिंग सरणी जो IList
से निकला होगा मतलब है) ग्रहण करेगा।
HashSet
एक निर्माता है कि एक IEnumerable
लेता है, तो आप केवल इस निर्माता में सूची पारित की जरूरत है, के रूप में IList
IEnumerable
से निकला है।
var set = new HashSet(BlockedList);
'कॉलिंग स्प्लिट 'चार सरणी और' की एक पैरामीटर के साथ इस रहस्य का प्रकार, पर StringSplitOptions' थोड़े इंगित करता है कि BlockedList एक श्रृंखला है। – Jamiec
के रूप में मैं मान्यताओं बनाने, '.Split' विधि और' StringSplitOptions' को देख नफरत के रूप में ज्यादा है, मैं 'ग्रहण करने के लिए स्ट्रिंग' सरणी होगा। – IAbstract
मैं Blocklist संभालने कर रहा हूँ एक स्ट्रिंग (इसलिए कॉल विभाजित करने के लिए) जो एक स्ट्रिंग सरणी देता है।
बस constructor of the HashSet को सरणी (जो IEnumerable लागू करता है) पास:
var hashSet = new HashSet<string>(BlockedList);
यहाँ एक विस्तार विधि है कि किसी भी IEnumerable से एक HashSet उत्पन्न होगा है:
public static HashSet<T> ToHashSet<T>(this IEnumerable<T> source)
{
return new HashSet<T>(source);
}
के साथ उपयोग करने के लिए अपने उपरोक्त उदाहरण:
var hashSet = BlockedList.ToHashSet();
Extensio पर नए कीवर्ड छूटी n उदाहरण ....
public static HashSet<T> ToHashSet<T>(this IEnumerable<T> source)
{
return new HashSet<T>(source);
}
एक कदम आगे ले करने के लिए निम्न एक लाइनर दर्शाता है कि कैसे तुम इतनी है कि आप एक मध्यवर्ती चर को परिभाषित करने की जरूरत नहीं एक HashSet करने के लिए एक शाब्दिक स्ट्रिंग सरणी में बदल सकते हैं, SomethingList
।
var directions = new HashSet<string>(new [] {"east", "west", "north", "south"});
यह किस प्रकार की सूची/सरणी है? इसमें क्या शामिल है? – Bernard
यह कॉलिंग Blocklist * बहुत * भ्रामक है। मैं BlockNames सुझाव देना चाहेंगे। [कैसे HashSet या HashedSet को LINQ परिणाम कन्वर्ट करने के लिए] की –
संभव डुप्लिकेट (http://stackoverflow.com/questions/3471899/how-to-convert-linq-results-to-hashset-or-hashedset) – nawfal