运算符一般看来就是指+、-、*、/等这些用于算术运算的符号,由于我们对编译器做好了规定,所以编译器很容易识别这些运算。然而有些东西通过”+”是不能连接的,因为系统没有定义,这样就需要我们重载运算符。
重载:编程语言允许多个方法名字存在,但是它们的方法(函数)中参数不一样,返回类型也可以不一样,所以它们的处理方式也不一样。
那么运算符重载是什么?我们举个例子来理解
如果我们创建了一个自定义的类:窗户,然后定义两个变量窗户1和窗户2并实例化它们,那么窗户1+窗户2是什么?初学者第一时间想到的是:两个窗户。但是系统不知道,这样我们就必须重载运算符“+”,然后再实现我们的操作。我们让它相加可以返回天空或者窗户。
Public static void Main()
{
Window a=new Window{Weight=50};
Window b=new Window{Weight=100};
Console.WriteLine(a+b);
}
Public class Window
{
Public decimal Weight{get;set;}
Public static decimal operator +(Window a1,Window a2)
{
Return a1.Weight+a2.Weight
}
}
通过对“+”这个运算符的重载,我们可以计算两个window相加的结果,这只是对C#运算符重载的初步认识。