![](/img/trans.png)
[英]How can I be sure that List.Contains works for a list of DataTables?
[英]How do i make sure that List<T>.Contains(T) works with my custom class?
我使用.net 2.0(C#)
我有一個Person類,我從數據庫中傀儡List <Person> p。
我知道我的列表有重復的事實,但當我嘗試刪除重復項時,它們不會被刪除。
我的Person類是否需要實現List <T> .Contains(T)的任何接口才能正常工作?
還有其他想法嗎?
謝謝。
你的Person類應該實現IEquatable
您應該重寫Equals和GetHashCode方法。
您引用的示例不是從列表中刪除dupes的解決方案,它是一個獲取列表並生成將排除重復項的迭代器的函數。 如果您需要一次性重復刪除整個列表,則需要從函數返回的IEnumerable<T>
並將其傳遞給新的List<T>
。
您需要在類中重載Object.Equals(Object obj)。
文檔說“這個方法使用默認的相等比較器EqualityComparer(T).Default
”來確定相等性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.