程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 為了去重復,寫了一個通用的比較容器類,可以用在需要比較的地方,且支持Lamda表達式,lamda表達式

為了去重復,寫了一個通用的比較容器類,可以用在需要比較的地方,且支持Lamda表達式,lamda表達式

編輯:C#入門知識

為了去重復,寫了一個通用的比較容器類,可以用在需要比較的地方,且支持Lamda表達式,lamda表達式


為了去重復,寫了一個通用的比較容器類,可以用在需要比較的地方,且支持Lamda表達式,代碼如下:

    public class DataComparer<T>:IEqualityComparer<T> where T:class
    {
        private Func<T, T, bool> _compareFunc;

        public DataComparer(Func<T,T,bool> compareFunc)
        {
            this._compareFunc = compareFunc;
        }

        public bool Equals(T x, T y)
        {
           return  this._compareFunc(x, y);
        }

        public int GetHashCode(T obj)
        {
            return obj.GetHashCode();
        }
    }

調用如下:

dataTable.AsEnumerable().Distinct(new DataComparer<DataRow>((x, y) =>  return (x[1] == y[1] && x[2] ==y[2]))).CopyToDataTable();

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved