एक सूची के साथ आप कर सकते हैं:
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
, गणितीय रूप से बोलना चाहिए।