[英]how to overload postfix and prefix operator in c#
我們如何在c#中實現postfix和prefix運算符的重載
void Main()
{
MyClass myclass=new MyClass();
myclass.x=5;
Console.WriteLine((++myclass).x);
Console.WriteLine((myclass++).x);
}
public class MyClass
{
public int x;
public static MyClass operator ++(MyClass m)
{
m.x=m.x+1;
return m;
}
}
這可能是一個不必要的運算符重載,但它已知可以重載++運算符。 我們如何在這里實現不同的行為(i ++,++ i)
從我所看到的,在C#中重載一元運算符++會重載運算符的后綴和前綴版本。
來源: http : //devhawk.net/2003/07/09/operator-overloading-in-c/ http://www.programmingvideotutorials.com/csharp/csharp-operator-overloading
后綴增量重載采用int參數而前綴不采用
喜歡:
public static MyClass operator ++(MyClass m)
{
m.x=m.x+1;
return m;
}
public static MyClass operator ++(MyClass m, int i)
{
m.x=m.x+1;
return m;
}
但似乎int值是沒用的大聲笑
在這里查看更多信息: http : //msdn.microsoft.com/en-us/library/f6s9k9ta(v = vs。80).aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.