मेरे पास एक सूची है जिसे मुझे दो क्षेत्रों द्वारा क्रमबद्ध करने की आवश्यकता है। मैंने LINQ में OrderBy का उपयोग करने की कोशिश की है, लेकिन यह मुझे केवल एक फ़ील्ड निर्दिष्ट करने की अनुमति देता है। मैं सूची को पहले क्षेत्र द्वारा क्रमबद्ध करने के लिए देख रहा हूं और फिर यदि पहले क्षेत्र में कोई डुप्लिकेट है तो दूसरे क्षेत्र के आधार पर छांटें।
उदाहरण के लिए मैं चाहता हूं कि परिणाम इस तरह दिखें (अंतिम नाम फिर पहले नाम से छांटे गए)।
- एडम्स, जॉन
- स्मिथ, जेम्स
- स्मिथ, पीटर
- थॉम्पसन, फ्रेड
मैंने देखा है कि आप इसे पूरा करने के लिए SQL जैसे सिंटैक्स का उपयोग कर सकते हैं, लेकिन मैं ऑर्डरबी विधि के साथ इसे करने का तरीका ढूंढ रहा हूं।
IList<Person> listOfPeople = /*The list is filled somehow.*/
IEnumerable<Person> sortedListOfPeople = listOfPeople.OrderBy(aPerson => aPerson.LastName, aPerson.FirstName); //This doesn't work.