C#前后增加运算符重载方法?

时间:2011-04-05 13:53:09

标签: c# overloading operator-keyword

C#中h = ++ih = i++之间存在差异。所以我需要的是一种在C#中为预增量(即++ i)和后增量(i ++)声明不同的重载运算符的方法。我该怎么办?

我知道两个运营商对他们所处理的价值做同样的事实 - 问题是分配完成的时间点。我知道如何用C ++做,但这不是问题。我想知道是否有一种方法可以重载此操作符在C#中的两种方式,如果是这样,该怎么做。

2 个答案:

答案 0 :(得分:3)

你不能http://msdn.microsoft.com/en-us/library/36x43w8w(v=vs.71).aspx。你只能重载++,唯一的区别是你的重载将被调用。

编辑:此外,您只能为用户定义的类型重载++,因此它基本上只是成为您选择的函数的别名。

答案 1 :(得分:2)

这些运营商的贬值没有区别。事实上,它们的行为完全相同,唯一的区别是返回值。 ++运算符重载适用于两者,不同的返回值由运行时提供,而不是用户代码。

修改:找到它What is the difference between i++ and ++i?