मैं कुंजी के आधार पर NameValueCollection को सॉर्ट करने का एक आसान तरीका ढूंढ रहा हूं - हालांकि यह एक प्रदर्शन भारी नहीं होना चाहिए।क्या सी # में कुंजी के आधार पर NameValueCollection को सॉर्ट करने का कोई आसान तरीका है?
7
A
उत्तर
13
SortedDictionary<string,string>
या SortedList<string,string>
से आरंभ करें और आप पहले से ही कर लिया है ...
आपको प्रति कुंजी से अधिक आइटम की जरूरत है, तो एक SortedDictionary<string,List<string>>
पर विचार करें। एक्सटेंशन विधियों के साथ अतिरिक्त आदि को सरल बनाने के तरीके हैं - इसे डरावना नहीं होना चाहिए।
भी ध्यान रखें कि NameValueCollection
केस-संवेदी है, तो आप असंवेदनशील तुलना में से एक का उपयोग करने के लिए आवश्यकता हो सकती - उदाहरण के लिए:
Dictionary<string,string> data = new Dictionary<string,string>(
StringComparer.InvariantCultureIgnoreCase);
(संपादित) यहाँ एक विस्तार विधि का उपयोग कर एकाधिक मान भर का एक उदाहरण है सी # 3.0:
static void Main()
{
var data = new Dictionary<string, List<string>>(
StringComparer.InvariantCultureIgnoreCase);
data.Add("abc", "def");
data.Add("abc", "ghi");
}
static void Add<TKey, TValue>(this IDictionary<TKey, List<TValue>> lookup,
TKey key, TValue value)
{
List<TValue> list;
if (!lookup.TryGetValue(key, out list))
{
list = new List<TValue>();
lookup.Add(key, list);
}
list.Add(value);
}
2
यहां एक क्रूर बल हैक है कि मुझे बहुत गर्व नहीं है, लेकिन अगर आपको कुछ जल्दी और गंदे की ज़रूरत है तो यह काम करता है।
public static void Sort(this NameValueCollection nameValueCollection)
{
// Create a temporary collection the same size as the original
NameValueCollection tempNameValueCollection = new NameValueCollection(nameValueCollection.Count);
// Sort the keys
string[] keys = nameValueCollection.AllKeys;
Array.Sort(keys);
foreach (string key in keys)
{
// Sort the values
string[] values = nameValueCollection[key].Split(',');
Array.Sort(values);
// Add each value to the temporary collection
foreach (string value in values)
{
tempNameValueCollection.Add(key, value);
}
}
// Clear the original collection
nameValueCollection.Clear();
// Add the sorted entries back
nameValueCollection.Add(tempNameValueCollection);
}
संबंधित मुद्दे
- 1. क्या ओपनिड को लागू करने का कोई आसान तरीका है?
- 2. डोम नोड्स को सॉर्ट करने का सबसे आसान तरीका?
- 3. जावा में मानों के अनुसार मानचित्रों को सॉर्ट करने का सबसे आसान तरीका क्या है?
- 4. क्या मैं उद्देश्य-सी में कुंजी के आधार पर NSDictionary को सॉर्ट कर सकता हूं?
- 5. एनएसएससेट को सॉर्ट करने का सबसे प्रभावी तरीका क्या है?
- 6. क्या सी # कक्षाओं को PHP में परिवर्तित करने का कोई आसान तरीका है?
- 7. क्या कोडनिर्देशक पर सबडोमेन बनाने का कोई आसान तरीका है?
- 8. सी ++ कक्षाओं के स्वचालित पंपलिंग - क्या कोई आसान तरीका है?
- 9. क्या कोई ऑब्जेक्ट कुंजी ऑब्जेक्ट कुंजी के रूप में उपयोग करने का कोई तरीका है?
- 10. क्या आर में स्वतंत्र रूप से मैट्रिक्स के कॉलम को सॉर्ट करने का कोई तरीका है?
- 11. जावा में 'है' करने का सबसे आसान तरीका क्या है?
- 12. क्या एक्सकोड कुंजी बाइंडिंग निर्यात करने का कोई तरीका है?
- 13. अनुरोध के आधार पर JavaBeans को आबाद करने का आसान तरीका पैरामीटर
- 14. ssh होस्ट नाम के आधार पर टर्मिनल को एक अलग रंग का उपयोग करने का एक आसान तरीका क्या है?
- 15. क्या दो बिटएरे (सी # .NET) को संयोजित करने का कोई आसान तरीका है?
- 16. Matlab: मानक आधार वैक्टर प्राप्त करने का आसान तरीका?
- 17. क्या सी ++ एनम स्ट्रिंग में कनवर्ट करने का कोई आसान तरीका है?
- 18. क्या सी # में एक स्ट्रिंग में char को बदलने का कोई आसान तरीका है?
- 19. क्या सी संरचना को डंप करने का कोई तरीका है?
- 20. क्या जावा में कंसोल में दो कॉलम आउटपुट करने का कोई आसान तरीका है?
- 21. क्या रिमोट मशीन पर कठपुतली स्क्रिप्ट का परीक्षण करने का कोई आसान तरीका नहीं है?
- 22. सी शैली परिवर्तनीय तर्क सूची में मूल्य के आधार पर कक्षा के उपयोग को प्रतिबंधित करने का कोई तरीका है?
- 23. क्या जीएनयू स्क्रीन में एंटर कुंजी भेजने का कोई आसान तरीका है?
- 24. क्या सभी भाषाओं में तारों को सॉर्ट करने का कोई तरीका है?
- 25. क्या एसएसआरएस डिज़ाइन मोड में टैबलेट कॉलम को पुनर्व्यवस्थित करने का कोई आसान तरीका है?
- 26. क्या मानदंड को एचक्यूएल में परिवर्तित करने का कोई आसान तरीका है?
- 27. क्या xcode में ब्लॉक चर को स्वत: पूर्ण करने का कोई आसान तरीका है?
- 28. क्या स्क्रोलव्यूयर "उछाल" बनाने का कोई आसान तरीका है? कुछ नियंत्रणों को होस्ट करने के लिए
- 29. सी ++ में आईएनआई फ़ाइल को पार्स करने का सबसे आसान तरीका क्या है?
- 30. EF4 EntityCollection <T> सॉर्ट करने का सबसे आसान तरीका क्या है?