c# List去重


1 list如果數據是值類型,比如list<int> 這種,添加linq之后就可以使用list = list.Distinct().ToList();

2 如果是數據是引用類型,比如中間是一個類List<Class>,因為他的比較是對哈希code進行比較,所以沒有辦法直接進行比較。但是可以定義一下這個類的比較

public class C : IEquatable<C>
    {
       public int name;
       public C(int _name)
       {
           name = _name;
       }

       public bool Equals(C other)
       {
           return this.name == other.name;
       }
       public override int GetHashCode()
       {
           return name.GetHashCode();
       }  
    }

這樣就將他的比較轉換為內部關鍵數據name的比較了。

3 直接寫循環進行去重,這種就不說了。比較簡單


免責聲明!

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



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