簡體   English   中英

如何在c#中重載postfix和prefix運算符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM