首先要使用 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();
}
}
使用方式:
if (!queue.Contains<MyOrderTask>(item, PopupComparer.Default))
{
queue.Enqueue(item);//队列中索引为FALSE将任务加入到队列中
}