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 क्लास को बदलना नहीं चाहता — इसका उपयोग अन्य स्थानों पर किया जाता है, और सभी फील्ड्स की तुलना करना...