C# · 12月 24, 2021

c#使用类对象作为字典中的键

我有一个看起来像这样的课程. public class Point : IEquatable<Point>{ public int _xValue {get;set;} public double _yValue {get;set;} public Point(int x,double y) { _xValue = x; _yValue = y; } public override bool Equals(object obj) { return Equals(obj as Point); } public bool Equals(Point obj) { return obj != null && obj._xValue == this._xValue && obj._yValue == this._yValue; }}

我必须实现GetHashCode函数,以便我可以将它用作字典键.但是我不清楚在这种情况下GetHashCode函数必须返回什么.有人可以帮我吗?

解决方法 它应返回一个整数,最好对于对象的每个单独实例都是唯一的.哈希值基本上是从对象内容创建的单个数字,用于唯一标识该对象.第一条规则是,如果其中两个点评估为彼此相等,则两者的哈希值应相同.

更详细的描述可在MSDN获得