小编Hc5*_*XpR的帖子

.net 3.5列出<T> Equality和GetHashCode

我正在一个自定义类中实现IEquatable,该类具有List <T>作为属性,如下所示:

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public List<string> Dislikes;

    public bool Equals(Person p)
    {
        if (p == null)
        {
            return false;
        }
        if (object.ReferenceEquals(this, p))
        {
            return true;
        }

        return this.FirstName == p.FirstName 
            && this.LastName == p.LastName
            && this.Dislikes == p.Dislikes; //or this.Dislikes.Equals(p.Dislikes)
    }

    public override int GetHashCode()
    {
        int hash = 17;
        hash = hash * 23 + (this.FirstName ?? String.Empty).GetHashCode();
        hash = hash …
Run Code Online (Sandbox Code Playgroud)

.net equality list

4
推荐指数
1
解决办法
1480
查看次数

标签 统计

.net ×1

equality ×1

list ×1