我有两个列表对象。我将它们组合成一个列表。虽然合并我需要删除重复。 TweetID是要比较的字段。
/*typename*/ Pa<AAA>::Pe<int> qq;
我已将两个列表合并,但无法过滤掉重复项。是否有任何内置函数可以删除List&lt;&gt;?
中的重复项答案 0 :(得分:5)
您可以使用Union
方法。
List<TweetEntity> tweetEntity = tweetEntity1.Union(tweetEntity2).ToList();
但是,您首先覆盖了Equals
GetHashCode
和TweetEntity
。
答案 1 :(得分:1)
您可以使用Distinct()
方法。
tweetEntity1.Concat(tweetEntity2).Distinct().ToList();
答案 2 :(得分:1)
答案 3 :(得分:0)
您可以使用linq Distinct
方法,但是您必须实施IEqualityComparer<T>
。
public class TweetEntityComparer<TweetEntity>
{
public bool Equals(TweetEntity x, TweetEntity y)
{
//Determine if they're equal
}
public int GetHashCode(TweetEntity obj)
{
//Implementation
}
}
List<TweetEntity> tweetEntity = tweetEntity1.Concat(tweetEntity2).Distinct().ToList();
您也可以使用Union
。
List<TweetEntity> tweetEntity = tweetEntity1.Union(tweetEntity2).ToList();