如何使用IEqualityComparer在通用列表中查找项目?

时间:2015-11-26 10:11:34

标签: c# .net iequalitycomparer

我有一个List<TreeNode<DepFile>>类型的列表。我需要检查此列表是否预先添加了TreeNode<DepFile>。我为此目的使用IndexOf。我在Equals类型上实施了DepFile方法。

这不起作用。

问题是:如何告诉列表它使用DepFile数据类型中实现的Equals方法?

采用我的数据类型:

class DepFile: IEqualityComparer<DepFile>
{
    public string coddep { get; set; }
    public int codtipodep { get; set; }

    public bool Equals(DepFile x, DepFile y)
    {
        return x.coddep == y.coddep
            && x.codtipodep == y.codtipodep;
    }
}

我构建了T的litte树结构。 AddChild方法必须检查元素是否已在列表中并插入或不插入列表中。实施DepFile的{​​{1}}或其他数据存储在IEqualitComparer字段中。

Value

0 个答案:

没有答案