相关疑难解决方法(0)

HashSet如何比较元素的相等性?

我有一个班级IComparable:

public class a : IComparable
{
    public int Id { get; set; }
    public string Name { get; set; }

    public a(int id)
    {
        this.Id = id;
    }

    public int CompareTo(object obj)
    {
        return this.Id.CompareTo(((a)obj).Id);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我将这个类的对象列表添加到哈希集时:

a a1 = new a(1);
a a2 = new a(2);
HashSet<a> ha = new HashSet<a>();
ha.add(a1);
ha.add(a2);
ha.add(a1);
Run Code Online (Sandbox Code Playgroud)

一切都很好,ha.count2的,但:

a a1 = new a(1);
a a2 = new a(2);
HashSet<a> ha = new HashSet<a>();
ha.add(a1); …
Run Code Online (Sandbox Code Playgroud)

c# hashset

114
推荐指数
5
解决办法
7万
查看次数

标签 统计

c# ×1

hashset ×1