Equivalence operators overloading in C#
Forums:
class Point {
public int x;
public int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public static bool operator ==(Point left, Point right) {
return (left.x == right.x) && (left.y == right.y);
}
public static bool operator !=(Point left, Point right) {
return (left.x != right.x) || (left.y != right.y);
}
}
var p1 = new Point(1, 1);
var p2 = new Point(2, 2);
var p3 = new Point(1, 1);
var equal1 = p1 == p2;
//equal1 is False
var equal2 = p1 == p3;
//equal2 is True
var equal3 = p1 != p3;
//equal3 is False
- Log in to post comments