मैं निम्नलिखित वर्ग है:क्रमबद्ध एक सूची वर्णानुक्रम
void ShuffleGenericList<T>(IList<T> list)
{
//generate a Random instance
var rnd = new Random();
//get the count of items in the list
var i = list.Count();
//do we have a reference type or a value type
T val = default(T);
//we will loop through the list backwards
while (i >= 1)
{
//decrement our counter
i--;
//grab the next random item from the list
var nextIndex = rnd.Next(i, list.Count());
val = list[nextIndex];
//start swapping values
list[nextIndex] = list[i];
list[i] = val;
}
}
मैं करना चाहते हैं क्या है विवरण की सामग्री को सॉर्ट करने के लिए:
class Detail
{
public Detail()
{
_details = new List<string>();
}
public IList<string> Details { get { return _details; } }
private readonly List<string> _details;
}
वर्तमान में मैं बेतरतीब ढंग से उपयोग करते हुए निम्न वर्ग को सॉर्ट वर्णमाला क्रम में।
इसलिए उदाहरण के लिए यदि सामग्री इस तरह दिखेगा:
[0] a
[1] d
[2] b
मैं इस विधि को चलाने के लिए सक्षम होना चाहते हैं और उन्हें में क्रमबद्ध किया है
[0] a
[1] b
[2] d
किसी को भी एक आसान तरीका पता है यह करने के लिए? ध्यान दें कि सूचियों में आमतौर पर उनमें से कम से कम दस प्रविष्टियां होती हैं। क्या मैं LINQ के साथ ऐसा कर सकता हूं? क्षमा करें, लेकिन मैं LINQ से बहुत परिचित नहीं हूं मैंने अभी एक सुझाव सुना है कि मैं इसका उपयोग कर सकता हूं।
तो अगर मैं ऊपर बनाई गई सूची को सॉर्ट करना चाहता हूं तो क्या मुझे बस यह कहना होगा: sortedList.Sort? – Mariko
मैंने सॉर्ट करने की कोशिश की लेकिन काम करने के लिए यह नहीं मिल सकता.- मेरी सूची इस तरह दिखती है: IList एनडी। मैंने nD.Sort() की कोशिश की लेकिन यह कहता है: प्रतीक 'सॉर्ट' को हल नहीं कर सकता। –
Mariko
@ मारिको: इसके बजाय '_details.Sort()' का उपयोग करें - '_details' को' IList 'के बजाय 'सूची ' के रूप में घोषित किया गया है। 'सॉर्ट' केवल 'सूची ' पर घोषित किया गया है, न कि 'IList '। –