日期:2014-05-17 浏览次数:21375 次
现在有一个类定义如下
public class CreateTestUnitSrvInputCollection
{
private int mParentId;
/// <summary>
/// 所属构建标签ID/或文件夹ID
/// </summary>
public int ParentId
{
get
{
return mParentId;
}
set
{
mParentId = value;
}
}
private int mParentType;
/// <summary>
/// 所属父类的文件类型 2文件夹 1构建标签
/// </summary>
public int ParentType
{
get
{
return mParentType;
}
set
{
mParentType = value;
}
}
}
现在有一个List<CreateTestUnitSrvInputCollection > 其中里面有一些数据是相同的(即其中ParentId和ParentType的值都相同)
那么这个时候你如果调用distinct的方法话 是去除不掉这些相同项的 因为在c#中实例化一个类后给他的是一个 区分它们的是一个什么东西我也想不起来了
所以这个时候 如果你想自定义去除相同项的话 那就要继续IEqualityComparer接口
实现代码如下
public class CreateTestUnitSrvInputCollection : System.Collections.Generic.IEqualityComparer<CreateTestUnitSrvInputCollection>
{
private int mParentId;
/// <summary>
/// 所属构建标签ID/或文件夹ID
/// </summary>
public int ParentId
{
get
{
return mParentId;
}