स्पष्ट है कि, OrderBy
जगह में सरणी सॉर्ट नहीं होगा - यह एक नया अनुक्रम जो सरणी के अनुसार क्रमबद्ध प्रतिलिपि है वापस आ जाएगी। - आप
var sorted = array.OrderBy(item => item.Fields["FieldName"].Value);
दूसरी ओर, मैं अपनी टिप्पणी समझते नहीं है कि संपत्ति एक स्ट्रिंग के रूप दिया जाता है लेकिन आप इसे किसी पूर्णांक पर कास्ट कर सकते हैं कि: अगर वह ठीक है, तो आप कुछ की तरह चाहते हैं चींटियों को तारों को नहीं डाला जा सकता है, आपको उन्हें पार्स करना होगा। यदि आप क्या मतलब है कि, तो आप शायद चाहते हैं:
var sorted = array.OrderBy(item => int.Parse(item.Fields["FieldName"].Value));
यदि आप चाहते हैं कि एक सरणी के रूप में, आप ToArray()
बाद में कॉल कर सकते हैं:
var sorted = array.OrderBy(item => int.Parse(item.Fields["FieldName"].Value))
.ToArray();
वैकल्पिक रूप से आप Array.Sort
इस्तेमाल कर सकते हैं अगर आप in- क्रमबद्ध करना चाहते हैं जगह, लेकिन यह कुछ हद तक गड़बड़ होगा।
स्रोत
2009-03-06 21:43:41
@skeet मुझे लगभग एक ही समस्या का सामना करना पड़ रहा है और मैंने प्रश्न भी पोस्ट किया है http://stackoverflow.com/questions/11693827/sorting-on-generic-list-after -using-toarray-method – rahularyansharma
धन्यवाद, जॉन। यह जानना अच्छा है कि यह एक विनाशकारी ऑपरेशन है –
उपयोगकर्ता 'ऑर्डरबी' में आपको कौन सी लाइब्रेरी शामिल करना है? – AlbatrossCafe