Avatar ·

LINQ डायनामिक सॉर्टिंग: स्ट्रिंग से प्रॉपर्टी नाम के आधार पर IEnumerable/IQueryable पर OrderBy कैसे लागू करें?

सभी को नमस्ते! मैं C# और LINQ में नया हूँ, और मुझे एक ऐसी समस्या का सामना करना पड़ा है जो मुझे हैरान कर रही है। मेरे पास `IEnumerable` (या `IQueryable)` ऑब्जेक्ट्स का एक collection है, और मैं उपयोगकर्ता की पसंद के आधार पर इसे अलग-अलग fields द्वारा sort करना चाहता हूँ। उपयोगकर्ता field का नाम (जैसे "Name" या "Date") और sorting direction ("asc" या "desc") strings के रूप में देता है। मैं इन strings का उपयोग करके collection पर `OrderBy` या `OrderByDescending` को dynamically कैसे लागू करूँ? समस्या यह है कि `OrderBy` एक generic method है, जिसे compile time पर lambda expression के माध्यम से property निर्दिष्ट करने की आवश्यकता होती है (जैसे `list.OrderBy(x => x.Name)` )। मैं केवल `list.OrderBy("Name")` नहीं लिख सकता। यहाँ एक कोड उदाहरण है जो काम नहीं करता: ```csharp public List SortPeople(IEnumerable people, str ```