Unity 小技巧之 自定义List.Distinct去重

简介: 配合lambda表达式 TypeList = TempShoppingMallItemList.Distinct(new ListComparer((p1, p2) => p1.
  配合lambda表达式  TypeList = TempShoppingMallItemList.Distinct(new ListComparer<ShoppingMallItem>((p1, p2) => p1.TypeItem == p2.TypeItem)).ToList();//去重 筛选类型
img_2052f3cb23454a7b9a6b280f797da795.png
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;


public class ListComparer<T> : IEqualityComparer<T>
{
    public delegate bool EqualsComparer<F>(F x, F y);

    public EqualsComparer<T> equalsComparer;

    public ListComparer(EqualsComparer<T> _euqlsComparer)
    {
        this.equalsComparer = _euqlsComparer;
    }

    public bool Equals(T x, T y)
    {
        if (null != equalsComparer)
        {
            return equalsComparer(x, y);
        }
        else
        {
            return false;
        }
    }

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

相关文章
|
5月前
|
图形学
【unity小技巧】受伤屏幕闪红、死亡动画、死亡黑屏效果
【unity小技巧】受伤屏幕闪红、死亡动画、死亡黑屏效果
173 2
|
5月前
|
图形学 开发者
【Unity小技巧】unity移动物体的探究——使用8个不同方法
【Unity小技巧】unity移动物体的探究——使用8个不同方法
174 1
|
5月前
|
图形学
【unity小技巧】实现投掷物品,比如长矛,刀具,手榴弹和其他物体
【unity小技巧】实现投掷物品,比如长矛,刀具,手榴弹和其他物体
60 1
|
5月前
|
图形学
【unity小技巧】实现FPS武器的瞄准放大效果(UGUI实现反向遮罩,全屏遮挡,局部镂空效果)
【unity小技巧】实现FPS武器的瞄准放大效果(UGUI实现反向遮罩,全屏遮挡,局部镂空效果)
80 1
|
5月前
|
Go 图形学
【Unity小技巧】3D人物移动脚步和跳跃下落音效控制
【Unity小技巧】3D人物移动脚步和跳跃下落音效控制
56 1
|
5月前
|
图形学
【unity小技巧】unity3d创建和实现破碎打破物品,万物可破碎
【unity小技巧】unity3d创建和实现破碎打破物品,万物可破碎
225 0
【unity小技巧】unity3d创建和实现破碎打破物品,万物可破碎
|
5月前
|
图形学
【unity小技巧】Unity中实现一个战斗连击连招系统,可以动态添加减少连击连招段数功能
【unity小技巧】Unity中实现一个战斗连击连招系统,可以动态添加减少连击连招段数功能
117 0
|
5月前
|
存储 图形学
【unity小技巧】unity事件系统创建通用的对象交互的功能
【unity小技巧】unity事件系统创建通用的对象交互的功能
54 0
|
5月前
|
图形学
【unity小技巧】unity通过代码进行更改后处理效果
【unity小技巧】unity通过代码进行更改后处理效果
72 0
|
5月前
|
图形学
【unity小技巧】unity3D寻路指示轨迹预测
【unity小技巧】unity3D寻路指示轨迹预测
72 0