C#のコンパレータ補助クラス

    ///  <要約> 
    /// コンパレータヘルプクラス
     /// 作成:蘇Bendong
     ///作成:2019年- 11 - 5  115229 
    ///  </要約> 
    パブリッククラスComparerHelper < T >:されたIEqualityComparer < T > 
    { 
        プライベート読み取り専用のFunc < T、T、BOOL > _func; 

        ///  <要約> 
        /// コンストラクタ
         ///  </要約> 
        ///  < PARAM名= "FUNC" > </ PARAM > 
        公共 ComparerHelper(機能< T、T、BOOL > FUNC)
        { 
            this._func = FUNC。
        } 

        ///  <要約> 
        /// 比较是否相等
         ///  </要約> 
        ///  < PARAM名= "X" > </ PARAM > 
        ///  < PARAM名= "Y" > </ PARAM >
         リターン> </ 戻り> 
        公衆BOOLは(X T、Y T)に等しい
        { 
            戻りthis._func(X、Y)を; 
        } 

        ///  <要約> 
        ///はハッシュコードを返し
         ///  </要約> 
        // /  < PARAM名= "OBJ" > </ PARAM > 
        ///  < 返し> </ 戻り> 
        公共 のint GetHashCodeメソッド(T OBJ)
        { 
            // 注意:かかわらず、ハッシュコードのOBJ obj.idかこのシナリオでは、ハッシュコードそれは同じになります
             //ハッシュコードと同じでない場合、それはequalsメソッドに来ることはありません
             // ので、ここで私たちは、同じハッシュコードを返す必要があり、唯一の方法は、equalsメソッドは、実行する機会持って
             リターン 1 ; 
        } 
    }

 

おすすめ

転載: www.cnblogs.com/subendong/p/11797570.html