PDA

View Full Version : اجرای تابع Distinict بروی List<object >



hossein_va
دوشنبه 31 فروردین 1394, 23:43 عصر
سلام.
من یه لیستی از نوع object دارم که مقادیر درونش می ریزم.هر خانه این لیست شامل شناسه id کالا هست.حالا میخوام تابع Distinict را روش اجرا کنم که فیلد های تکراری را حذف کنه.برای انی کار من کلاس Check را به صورت زیر تعریف کردم


class CheckObject : IEqualityComparer<object>
{

public bool Equals(object x, object y)
{


try
{
if (x.id == y.id)
return true;
else
return false;
}
catch (Exception)
{
throw new NotImplementedException();


}
}


public int GetHashCode(object obj)
{
try
{
return Convert.ToInt32(obj.id);
}
catch (Exception)
{
throw new NotImplementedException();
}
}
}


ولی خوب مشکل اینجاست که x.id وجود نداره و ارور میده.

نوع استفاده از متد Distinict

result = result.Distinct(new CheckObject()).ToList();

Amir4317
سه شنبه 01 اردیبهشت 1394, 00:00 صبح
پیشنهاد می کنم آبجکت هاتون رو به نوع داده‌ی مشخصی Cast کنید.:چشمک:

salar IT man
سه شنبه 01 اردیبهشت 1394, 00:28 صبح
پیدا کردن آیتم‌های تکراری در یک لیست به کمک LINQ (http://www.dotnettips.info/post/355/%d9%be%db%8c%d8%af%d8%a7-%da%a9%d8%b1%d8%af%d9%86-%d8%a2%db%8c%d8%aa%d9%85%e2%80%8c%d9%87%d8%a7%db%8 c-%d8%aa%da%a9%d8%b1%d8%a7%d8%b1%db%8c-%d8%af%d8%b1-%db%8c%da%a9-%d9%84%db%8c%d8%b3%d8%aa-%d8%a8%d9%87-%da%a9%d9%85%da%a9-linq)http://www.dotnettips.info/post/355/%D9%BE%DB%8C%D8%AF%D8%A7-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A2%DB%8C%D8%AA%D9%85%E2%80%8C%D9%87%D8%A7%DB%8 C-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1%DB%8C-%D8%AF%D8%B1-%DB%8C%DA%A9-%D9%84%DB%8C%D8%B3%D8%AA-%D8%A8%D9%87-%DA%A9%D9%85%DA%A9-linq

malizergani
سه شنبه 01 اردیبهشت 1394, 02:03 صبح
سلام دوست عزیز

// ListSubscribe = این لیستی از کلاس می باشد که در آن یک فیلد معرفی شده و مجموع تعداد نام ها 3362 می باشد که به دستور زیر و حفظ نام های تعداد 1519 یافت شد
var CountRepetitive = ListSubscribe
.Select(d => new { FullName = d.FullName })
.GroupBy(d => d.FullName);