मैं दो SortedLists
विलय करने वाले कोड का एक टुकड़ा तेज़ करने की तलाश में हूं।सी # दो सॉर्ट किए गए लिस्ट (यूनियन?) मर्ज करें
सी # 4.0 जेनेरिक SortedList
: http://msdn.microsoft.com/en-us/library/ms132319(v=vs.100).aspx
public Trait getTrait(decimal thisValue)
{
if (ParentStructure != null && ParentStructure.RankedTraits.Count > 0)
{
SortedList<decimal, Trait> tempTraits = this.RankedTraits;
// Improve here (union?)
foreach (KeyValuePair<decimal, Trait> kvp in (ParentStructure.RankedTraits))
{
if (!tempTraits.ContainsKey(kvp.Key))
{
tempTraits.Add(kvp.Key, kvp.Value);
}
}
return _getTrait(tempTraits, thisValue);
}
}
return _getTrait(_rankTraits, thisValue);
}
मैं सोच रहा हूँ कि एक संघ के बजाय foreach
पाश तेजी से होगा, लेकिन मैं कैसे एक SortedList
पर एक संघ को लागू करने की पता नहीं है। अगर कोई मेरी मदद कर सकता है तो मैं इसकी सराहना करता हूं।
इसके अलावा, अगर कुल मिलाकर बेहतर तरीका है तो मैं सुझावों के लिए खुला हूं।
बस एक विचार है, लेकिन के अनुसार [इस उत्तर] (http://stackoverflow.com/a/1754080/551322), यदि आप प्रकार इनपुट संग्रह मदद कर सकता है। – nrodic
धन्यवाद, डेटा इनपुट इनपुट क्रमबद्ध सूचियों से आ रहा है, जिससे इसे पूर्व निर्धारित किया जाना चाहिए - हालांकि यह देखकर कि मैं सॉर्टेड डिक्शनरी पर स्विच करना चाहता हूं। –
आप इस कोड को गति देने के लिए क्यों देख रहे हैं? क्या यह खराब प्रदर्शन करता है? – Enigmativity