首先要使用 IEqualityComparer 接口创建一个比对器对象
public class PopupComparer : IEqualityComparer<YiMan.Model.MyOrderTask> { public static PopupComparer Default = new PopupComparer();//实例化对象 public bool Equals(MyOrderTask x, MyOrderTask y) { return x.TaskID.Equals(y.TaskID);//设置要比对数据(关键) } public int GetHashCode(MyOrderTask obj) { return obj.GetHashCode(); } }
使用方式:blog
if (!queue.Contains<MyOrderTask>(item, PopupComparer.Default)) { queue.Enqueue(item);//队列中索引为FALSE将任务加入到队列中 }