के साथ एक सूची छंटनी क्यों नीचे दी गई कोड मेरी सूची को सॉर्ट नहीं करेगा?ऑर्डरबी
List<string> lst = new List<string>() { "bac", "abc", "cab" };
lst.OrderBy(p => p.Substring(0));
के साथ एक सूची छंटनी क्यों नीचे दी गई कोड मेरी सूची को सॉर्ट नहीं करेगा?ऑर्डरबी
List<string> lst = new List<string>() { "bac", "abc", "cab" };
lst.OrderBy(p => p.Substring(0));
के बाद से OrderBy रिटर्न IOrderedEnumerable आपको क्या करना चाहिए:
lst = lst.OrderBy(p => p.Substring(0)).ToList();
आप निम्न कार्य कर सकते हैं:
lst.Sort();
आप एक विधि है कि चर यह है बदल जाता है के साथ LINQ संचालन भ्रमित कर रहे हैं पर लागू (यानी वस्तु का एक उदाहरण विधि)।
LINQ संचालन (यानी ओडर बी) एक क्वेरी देता है। यह आपके ऑब्जेक्ट पर ऑपरेशन निष्पादित नहीं करता है (यानी lst
)।
आप वापस अपने चर को नतीजा यह है कि प्रश्न के आवंटित करने के लिए की जरूरत है:
LINQ शब्दावली मेंlst = lst.OrderBy(p => p).ToList();
।
string[] words = { "bac", "abc", "cab" };
var sortedWords = from w in words
orderby w
select w;
Console.WriteLine("The sorted list of words:");
foreach (var w in sortedWords)
{
Console.WriteLine(w);
}
कूल ..simple n सही –
ध्यान दें कि 'सूची .Sort', एक अस्थिर तरह है, जबकि OrderBy स्थिर है। और निश्चित रूप से इस मामले में ऑर्डरिंग * केवल * पहले अक्षर से है, जबकि किसी भी पैरामीटर के बिना 'list.Sort' का उपयोग करके संपूर्ण स्ट्रिंग द्वारा क्रमबद्ध किया जाएगा। –
जॉन, '.Substring (0) 'पूरी स्ट्रिंग देता है, मुझे विश्वास है ... पहले चरित्र के लिए,' .Substring (0,1)' या '[0]' ... –