implementando Equals () e GethashCode () Métodos para classes personalizadas: um exemplo prático
substituindo os métodos Equals () e GethShCode () Nas classes personalizadas, é crucial para garantir a comparação e o hash de objetos adequados. Este artigo demonstra a maneira correta de implementar esses métodos para sua classe RecomendationDTO para ativar seu uso com o método de LINQ, exceto (). (), você precisa fornecer uma implementação personalizada que compare os objetos com base em suas propriedades exclusivas. No seu caso, a propriedade RecomendationId é um identificador adequado. Aqui está a implementação corrigida:
public substituir bool equals (objeto obj) { var item = obj como recomendaçãoDTO; if (item == null) { retornar falso; } retornar this.recomendationId.equals (item.recommendationId); }
implementando GethashCode ()
public override bool Equals(object obj) { var item = obj as RecommendationDTO; if (item == null) { return false; } return this.RecommendationId.Equals(item.RecommendationId); }
public substituir int gethashcode () { Retorne this.recomendationId.gethashCode (); }
uso com linq excep ()
public override int GetHashCode() { return this.RecommendationId.GetHashCode(); }
var lista1 = new List
verifique se há valores nulos e use o revestimento correto para propriedades e métodos.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3