如何实施 IEqualityComparer 为此课?

ID属性不是唯一的。这两个属性都不具有唯一的值。

该实体具有7个属性。

[Serializable()]
public class ServidorSeleccionadoDto
{
    [XmlAttribute()]
    public int Id { get; set; }

    [XmlAttribute()]
    public string Nombre { get; set; }

    [XmlAttribute()]
    public string IP { get; set; }

    [XmlAttribute()]
    public string Entorno { get; set; }

    [XmlAttribute()] // [XmlIgnore()]
    public string Habilitado { get; set; }

    [XmlAttribute()]
    public string Tipo { get; set; }

    [XmlAttribute()]
    public int IdGrupo { get; set; }
}
有帮助吗?

解决方案

看起来您的对象有一个ID字段。如果每个对象是唯一的,那么您只需要在该属性上进行比较。

public Boolean Equals(ServidorSeleccionadoDto obj)
{
   return this.ID == obj.ID;
}

注意:只有ID是唯一的,这才能起作用。


如果ID属性不是唯一的,则需要比较所有对象属性。

public Boolean Equals(ServidorSeleccionadoDto obj)
{
    return this.ID == obj.ID && 
           this.Nombre.Equals(obj.Nombre) && 
           ... etc
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top