एक सूची के साथ आप कर सकते हैं:
list.AddRange(otherCollection);
HashSet में कोई ऐड रेंज विधि नहीं है । HashSet में एक और संग्रह जोड़ने का सबसे अच्छा तरीका क्या है?
एक सूची के साथ आप कर सकते हैं:
list.AddRange(otherCollection);
HashSet में कोई ऐड रेंज विधि नहीं है । HashSet में एक और संग्रह जोड़ने का सबसे अच्छा तरीका क्या है?
जवाबों:
के लिए HashSet<T>, नाम है UnionWith।
यह कार्य करने के विशिष्ट तरीके को इंगित HashSetकरता है। आप इसे सुरक्षित रूप Addसे यादृच्छिक तत्वों का एक सेट नहीं कर सकते Collections, जैसे कुछ तत्व स्वाभाविक रूप से वाष्पित हो सकते हैं।
मुझे लगता है कि UnionWith"दूसरे के साथ विलय" के बाद इसका नाम लिया गया है HashSet, हालांकि, इसके लिए एक अधिभार IEnumerable<T>भी है।
ये एक तरीका है:
public static class Extensions
{
public static bool AddRange<T>(this HashSet<T> source, IEnumerable<T> items)
{
bool allAdded = true;
foreach (T item in items)
{
allAdded &= source.Add(item);
}
return allAdded;
}
}
HashSet(औरISet) गणितीय रूप से निर्धारित अवधि के साथ बनाया गया था।UnionWithनिकट अवधि थी। को छोड़करExcept, जिसे स्पष्ट रूप से नाम दिया जाना चाहिएSubtract, गणितीय रूप से बोलना चाहिए।