C# List Contains () 的用法 對象數組模糊對象


泛型List<T>中有一個比較列表是否已包含對象的方法Contains<T>()

要用此方法比較我們的自定義對象,首先要有一個比較器,

要注意的是,這里的比較器是實現IEqualityComparer<T>接口zhai的,不要寫成IComparer<T>

大概就是因為是引用類型, 所以要匹配堆棧 要去匹配存儲引用路徑

 1   /// <summary>
 2     /// 描    述:彈出模型對象列表比較器(根據ID比較)
 3     /// </summary>
 4     public class PopupComparer : IEqualityComparer<Model.PopupModel.PopupModel>
 5     {
 6         public static PopupComparer Default = new PopupComparer();
 7         #region IEqualityComparer<PopupModel> 成員
 8         public bool Equals(Model.PopupModel.PopupModel x, Model.PopupModel.PopupModel y)
 9         {
10             return x.Id.Equals(y.Id);
11         }
12         public int GetHashCode(Model.PopupModel.PopupModel obj)
13         {
14             return obj.GetHashCode();
15         }
16         #endregion

然后我們就可以調用Contains<T>()方法了,如下

List<PopupModel> list = new List<PopupModel>();
//model為要比較的對象
if(list.Contains<PopupModel>(model,PopupComparer.Default))
{

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM