احسان میرسعیدی
احسان میرسعیدی
خواندن ۱ دقیقه·۷ سال پیش

حقه های linq

فرض کنید لیستی از داده های عددی تکراری داشته باشید، ساده ترین راه برای تشخیص آیتم های تکراری در این لیست چیست؟

جواب: استفاده از متد Distinct در فضای System.Linq

اگر داده ها از جنس کلاس باشند، کار کمی متفاوت خواهد بود. مثلا فرض کنید. فهرست از کالا ها داشته باشیم که این ها به طریفی تجمیع شده اند و نیاز داشته باشیم، داده های تکراری را حذف کنیم:

1. پیاده سازی اینترفیس IEquatable در کلاس - در اینجا کلاس کالا - و استفاده از متد distict، مانند قبل
2. استفاده از متد GroupBy، و گروه بندی بر حسب یک یا چند شناسه منحصر به فرد مانند Id متعلق به کالا ها

var distictProducts = duplicateProducts.GroupBy(q => q.Id).Select(q => q.First()).ToList();

irandotnetlinqcsharp
شاید از این پست‌ها خوشتان بیاید