C#运算符重载(overload)

一些情况下,我们希望运算符能拥有一些我们我们自己定义的功能方便使用,这时候就会用到运算符重载。

以下代码比较简单地重载了加号,功能使两个box对象的length相加。

public static Box operator+ (Box b, Box c)
{
   Box box = new Box();
   box.length = b.length + c.length;
   return box;
}

重载的运算符肯定是要被外部使用的,所以一般定义为public,它显然也是被类的所有对象共享的,所以用static修饰,重载的运算符和函数的功能是类似的,所以也有返回值类型和参数列表。

注意,条件运算符&&和||、赋值运算符=,+=, -=, *=, /=, %=都是不能被重载的。

你可能感兴趣的:(unity,c#,开发语言)