小编Dvp*_*Uml的帖子

C#HashSet Generic允许重复

在MSDN上读取HashSet,它说HashSet<T>,如果T实现,IEquatable<T>那么HashSet使用它IEqualityComparer<T>.Default.

所以,让班级的人:

public class Person : IEquality<Person>
{
    private string pName;
    public Person(string name){ pName=name; }
    public string Name
    {
        get { return pName; }
        set
        {
            if (pName.Equals(value, StringComparison.InvariantCultureIgnoreCase))
            {
              return;
            }
            pName = value;
        }
    }

    public bool Equals(Person other)
    {
        if(other==null){return false;}
        return pName.Equals(other.pName, StringComparison.InvariantCultureIgnoreCase);
    }

    public override bool Equals(object obj)
    {
        Person other = obj as Person;
        if(other==null){return false;}
        return Equals(other);
    }

    public override int GetHashCode(){return pName.GetHashCode();}

    public override string …
Run Code Online (Sandbox Code Playgroud)

c# hashset

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

标签 统计

c# ×1

hashset ×1