首先要使用 IEqualityComparer 接口建立一个比对器
public class PopupComparer : IEqualityComparer{ 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(); } }
使用方式:
if (!queue.Contains(item, PopupComparer.Default)){ queue.Enqueue(item);//队列中索引为FALSE将任务加入到队列中}