C#学习笔记之运算符重载
本文导语: 1,在类中不能总是调用方法和属性,有时还需要一些其他工作。 例如 if(a==b)对于这个语句,在默认情况下会比较引用a和b,检测这两个引用是否指向内存中同一个地址,而不是检测两个实例是否包含同样的数值,所以需要...
1,在类中不能总是调用方法和属性,有时还需要一些其他工作。
例如 if(a==b)对于这个语句,在默认情况下会比较引用a和b,检测这两个引用是否指向内存中同一个地址,而不是检测两个实例是否包含同样的数值,所以需要们来告诉
编译器如果处理==的操作,就是运算符的重载。
2,常用的【+, -, *, /, %, ++, --, &, |, , !, ~】必须成对重载的【==,!=】【>=,相等)
* */
public static bool operator ==(Vector lhs, Vector rhs)
{
if (lhs.x == rhs.x && lhs.y == rhs.y && lhs.z == rhs.z)
{
return true;
}
else
{
return false;
}
}
public static bool operator !=(Vector lhs, Vector rhs)
{
return !(lhs == rhs);
}
//※我们重写了== 和 !=但没有重写Euals和GetHashCode方法,实际执行中编译器会有一个警告
}
就是这些了,C#运算符的重载相关内容,希望对大家有所帮助。