首先要使用 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將任務加入到隊列中 }