C#运算符重载

public static Program operator --(Program op)
{
Program opage = new Program();
opage.level = op.level;
opage.level = opage.level-1;
return opage;
}
我有点搞不懂这段代码~刚刚学运算重载符,真的有点搞不懂
opage.level = op.level;
opage.level = opage.level-1;
这两句是什么意思??

第1个回答  推荐于2016-07-15
这个是将运算符--重载功能进行处理。他的实际操作功能是重新实例化一个对象,然后将他的level字段进行-1的操作,并且返回新的实例。

在实际运用中这种方式用得不多。因为这个体现不了程序的功能简介,他人使用的时候很容易出现混淆,可以转化为方法来使用。

opage.level = op.level; //将对象opage的level属性设置为传入对象op的level
opage.level = opage.level-1; //将对象opage的level值减去1本回答被提问者采纳
相似回答