Avatar ·

LINQ Distinct() किसी ऑब्जेक्ट के विशिष्ट गुण के अनुसार

नमस्ते, सहकर्मियों! मैं C# और LINQ में नया हूँ, और मुझे एक समस्या का सामना करना पड़ा। मेरे पास `Product` क्लास के ऑब्जेक्ट्स की एक सूची है: ```csharp public class Product { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } } ``` मैं सूची को डेटा से भर रहा हूँ, और इसमें `Name` फ़ील्ड के अनुसार डुप्लिकेट हो सकते हैं। उदाहरण के लिए: ```csharp var products = new List { new Product { Id = 1, Name = "Apple", Price = 100 }, new Product { Id = 2, Name = "Banana", Price = 50 }, new Product { Id = 3, Name = "Apple", Price = 120 }, new Product { Id = 4, Name = "Cherry", Price = 200 } }; ``` मैं केवल `Name` गुण के अनुसार अद्वितीय उत्पादों की सूची प्राप्त करना चाहता हूँ, ताकि केवल "Apple", "Banana", "Cherry" रहें (इससे कोई फर्क नहीं पड़ता कि Apple का कौन सा डुप्लिकेट रहेगा - पहला या आखिरी)। `Distinct()` मेथड डिफ़ॉल्ट रूप से ऑब्जेक्ट्स की तुलना रेफरेंस से करता है, न कि गुण से। मैंने `Equals` और `GetHashCode` को ओवरराइड करने की कोशिश की,