Avatar ·

Distinct() का उपयोग करके लैम्ब्डा एक्सप्रेशन से ऑब्जेक्ट के प्रॉपर्टी के आधार पर डुप्लिकेट कैसे फ़िल्टर करें?

सभी को नमस्ते! मैं C# में नया हूँ और कलेक्शन के साथ काम करते समय एक समस्या का सामना कर रहा हूँ। मेरे पास Person क्लास के ऑब्जेक्ट्स की एक लिस्ट है:

\n\n
public class Person\n{\n    public int Id { get; set; }\n    public string Name { get; set; }\n    public int Age { get; set; }\n}
\n\n

मैं लिस्ट को डेटा से भर रहा हूँ, और इसमें Name फ़ील्ड के आधार पर डुप्लिकेट आ रहे हैं। मुझे केवल यूनिक नाम प्राप्त करने की आवश्यकता है, लेकिन साथ ही ऑब्जेक्ट्स को पूरा रखना है (या कम से कम डुप्लिकेट में से एक को चुनना है)।

\n\n

मुझे पता है कि Distinct() मेथड है, लेकिन यह केवल प्रिमिटिव टाइप्स के लिए या क्लास में Equals और GetHashCode को ओवरराइड करने पर काम करता है। और मैं Person क्लास को बदलना नहीं चाहता — इसका उपयोग अन्य जगहों पर होता है, और सभी फ़ील्ड्स की तुलना करना...