2008-10-30 10 views
5

.NET का उपयोग करना मैं रीवर्स i.e. Z से A में किसी ऐरे को सॉर्ट करने के लिए सॉर्ट विधि का उपयोग कैसे करूं?नेट का उपयोग करना मैं रीवर्स i.e. Z से ए में एक ऐरे को सॉर्ट करने के लिए सॉर्ट विधि का उपयोग कैसे करूं?

उत्तर

3

आपको सॉर्ट फ़ंक्शन में IComparer ऑब्जेक्ट या Comparison प्रतिनिधि को पास करने की आवश्यकता है। सरणी सा याद किया:

यहाँ सी # 2,0

Array.Sort(array,delegate(string a, string b) 
    { 
     return b.CompareTo(a); 
    }); 

संपादित से एक नमूना कोड है।

+0

क्यों नहीं बस b.CompareTo वापसी (क)? –

+0

हाँ, यह बेहतर है। –

+0

वास्तव में यहां दो महत्वपूर्ण अंतर हैं: 1) शून्य तारों के साथ क्या होना चाहिए? अक्सर जब आप तुलनाओं को उलटते हैं * * नहीं चाहते हैं कि नल के साथ क्या होता है। सिर्फ एक विचार। 2) रिटर्निंग-ए। कॉम्पारे (बी) (यानी पूर्व-संपादन) समस्याओं का कारण बनता है अगर int.MinValue को वापस किया जाता है। कॉम्पारे (बी)। –

11

उपयुक्त तत्व तुलनाकर्ता प्रदान करें। आप किस सी # संस्करण का उपयोग करते हैं? 3 आपको यह करने देता है:

Array.Sort(myarray, (a, b) => b.CompareTo(a)); 
1

यदि आप एक अलग तुलनाकर्ता का उपयोग करते हैं जो मानक के विपरीत है जो ऐसा करेगा।

वैकल्पिक रूप से यह सामान्य रूप से सॉर्ट और फिर इसे रिवर्स ...

संबंधित मुद्दे