具有许多属性的类别的iequalityComparer均不独特的值
-
28-09-2019 - |
题
如何实施 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
}
不隶属于 StackOverflow