[C#] सूची <> ऑर्डर बाय अल्फाबेटिकल ऑर्डर


Answers

क्या आपको सूची में क्रमबद्ध करने की सूची चाहिए, या सूची की सामग्री का केवल एक क्रमबद्ध अनुक्रम चाहिए? उत्तरार्द्ध आसान है:

var peopleInOrder = people.OrderBy(person => person.LastName);

जगह में सॉर्ट करने के लिए, आपको एक IComparer<Person> या एक Comparison<Person> । इसके लिए, आप MiscUtil में ProjectionComparer पर विचार करना चाह सकते हैं।

(मुझे पता है कि मैं MiscUtil लाने जारी रखता हूं - यह सिर्फ प्रासंगिक रहता है ...)

Question

मैं फ्रेमवर्क 3.5 पर सी # का उपयोग कर रहा हूँ। मैं एक सामान्य List<> को जल्दी से सॉर्ट करना चाहता हूं। इस उदाहरण के लिए कहें कि मेरे पास अंतिम नाम की संपत्ति के साथ एक व्यक्ति प्रकार की एक सूची है। मैं लैम्ब्डा अभिव्यक्ति का उपयोग करके इस सूची को कैसे क्रमबद्ध करूं?

List<Person> people = PopulateList();
people.OrderBy(???? => ?????)



मेरे लिए यह उपयोगी डमी गाइड - सामान्य सूची में छंटनी - काम किया। यह आपको बहुत ही पूर्ण और स्पष्ट स्पष्टीकरण और सरल उदाहरणों के साथ इस नौकरी को करने के लिए 4 तरीकों (अधिभार) को समझने में मदद करता है

  • List.Sort ()
  • List.Sort (जेनेरिक तुलना)
  • List.Sort (जेनेरिक आईसीओएमपीयर)
  • List.Sort (Int32, Int32, जेनेरिक IComparer)



आप linq का उपयोग कर सकते हैं :) का उपयोग कर:

System.linq;
var newList = people.OrderBy(x=>x.Name).ToList();



आप भी उपयोग कर सकते हैं

model.People = model.People.OrderBy(x => x.Name).ToList();