自定义集合去重复

class  Program
    {
        
static   void  Main( string [] args)
        {
            var list 
=   new  List < TempData >
            { 
              
new  TempData{ name = " a " , tel = " 010 " , address = " add " },
              
new  TempData{ name = " a " , tel = " 010 " , address = " add " },
              
new  TempData{ name = " a1 " , tel = " 010 " , address = " add " },
              
new  TempData{ name = " a1 " , tel = " 010 " , address = " add " },
              
new  TempData{ name = " a2 " , tel = " 010 " , address = " add " }
            };

            Console.WriteLine(
" name\ttel\taddress " );
            list.Distinct(
new  DataRowComparer()).ToList().ForEach(l  =>  Console.WriteLine( " {0}\t{1}\t{2} " , l.name, l.tel, l.address));
            
// list.ForEach(l => Console.WriteLine("{0}\t{1}\t{2}", l.name, l.tel, l.address));
        }

        
public   class  TempData
        {
            
public   string  name {  get set ; }
            
public   string  tel {  get set ; }
            
public   string  address {  get set ; }
        }

        
public   class  DataRowComparer : IEqualityComparer < TempData >
        {
            
public   bool  Equals(TempData t1, TempData t2)
            {
                
return  (t1.name  ==  t2.name  &&  t1.tel  ==  t2.tel  &&  t1.address  ==  t2.address);
            }
            
public   int  GetHashCode(TempData t)
            {
                
return  t.ToString().GetHashCode();
            }
        }  
    }

转载于:https://www.cnblogs.com/itliyi/archive/2011/08/30/2159554.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值