什么是C#中的运算符重载?
C#-运算符重载
这是一种多态性。众所周知,每个运算符都有一个预定义的实现。但是使用运算符重载,我们可以根据用户定义的数据类型(例如类和结构)为c#运算符分配一些特殊任务。
我们可以重载一些C#运算符;所有C#运算符都不能重载。我们可以重载以下给出的以下运算符:
算术运算符(+-*/%)
按位运算符(&|<<>>)
一元运算符(+-!〜++-)
关系运算符(==!=<><=>=)
复合赋值(+=-=*=/=%=)
我们不能重载以下给出的运算符:
逻辑运算符(&&||)
转换运算符(())
赋值运算符(=)
点或成员运算符(.)
条件或三元运算符(?:)
引用运算符(->)
new运算符(new)
sizeof运算符(sizeof())
在C#中,要重载任何允许的运算符,我们需要使用operator关键字。在这里,我们使用给定的运算符(例如+,-和operator关键字)创建一个方法。此方法必须是公共的和静态的。此方法只能接受值参数,此处我们不能使用ref或out参数。
语法:
public static return_type operator op (Type t) { // 语句 }
在这里,Type必须是一个类或构造。