सी # सूची


150

मैं अवरोही क्रम में 'Product.Name' द्वारा क्रमबद्ध सूची प्राप्त करना चाहूंगा ।

नीचे दिए गए फ़ंक्शन के समान, जो सूची को आरोही क्रम में क्रमबद्ध करता है, बस रिवर्स में, क्या यह संभव है?

var newList = list.OrderBy(x => x.Product.Name).ToList();

क्या समस्या यह हो सकती है कि आपने toListइसके बजाय लिखा है ToList?
मार्क बायर्स

1
मुझे लगता है कि उनका मतलब था कि यह descendingकीवर्ड को स्वीकार नहीं करता है , क्योंकि उन्होंने अपनी अभिव्यक्ति की शुरुआत नहीं की थीfrom x in list...
स्ट्रिपिंगवर्कर

1
क्षमा करें, मैंने उस कोड को बिल्कुल कॉपी नहीं किया, लेकिन इसे मेमोरी से टाइप किया। मेरा वास्तविक कोड काम करता है, लेकिन सिर्फ एक सूची देता है जिसे आरोही क्रम में क्रमबद्ध किया जाता है।
PFranchise

जवाबों:


260

ज़रूर:

var newList = list.OrderByDescending(x => x.Product.Name).ToList();

डॉक्टर: ऑर्डरबायस्केंडिंग (IEnumerable, Func)

आपकी टिप्पणी के जवाब में:

var newList = list.OrderByDescending(x => x.Product.Name)
                  .ThenBy(x => x.Product.Price)
                  .ToList();

2
तो आपका संपादित नाम (z-> a से) तो मूल्य (निम्न -> उच्च) के आधार पर छाँटेगा?
PFranchise

11
हां यह सही है। ऑर्डरबी या फिर कॉलबी को कॉल हमेशा आरोही होती है। ऑर्डरबायस्केंडिंग और फिर बीएडेसेंडिंग के तरीके वे हैं जो आप अवरोही के लिए उपयोग करेंगे।
स्ट्रिपलिंगवर्यर


11
list.OrderByDescending();

मेरे लिये कार्य करता है।


4
इसने सूची = सूची के बिना कुछ नहीं किया। TheOderByDescending () .List ();
अल्मो

8
var newList = list.OrderBy(x => x.Product.Name).Reverse()

यह काम करना चाहिए।


1

यह मेरी परियोजना से कोड का टुकड़ा देखो

मैं अपने मॉडल के अंदर एक संपत्ति के आधार पर सूची को फिर से ऑर्डर करने की कोशिश कर रहा हूं,

 allEmployees = new List<Employee>(allEmployees.OrderByDescending(employee => employee.Name));

लेकिन मुझे एक समस्या का सामना करना पड़ा जब एक small and capital letters exist, इसलिए इसे हल करने के लिए, मैंने स्ट्रिंग तुलनित्र का उपयोग किया।

allEmployees.OrderBy(employee => employee.Name,StringComparer.CurrentCultureIgnoreCase)

-2
list = new List<ProcedureTime>(); sortedList = list.OrderByDescending(ProcedureTime=> ProcedureTime.EndTime).ToList();

जो मेरे लिए अवरोही क्रम में छांटे गए समय को दिखाने का काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.