簡體   English   中英

重載真假運算符有什么作用?

[英]What does overloading true and false operators do?

我只是C#的初學者,但我正在努力學習一切。 但是,我堅持重載真假; 這是什么意思? 請(盡量)盡可能地給出答復(這樣即使是'13'歲的人也能理解邏輯)。 (請盡量使其盡可能理解,謝謝)。 如果可以的話,請解釋如果coord改變為其他東西會產生什么結果(例如:(3,5))。

我在這里預先制作了代碼:(你能解釋一下改變坐標的不同輸出嗎)信息: - 程序是一個控制台應用程序 - C#我創建了一個名為Coord的類(代表坐標)。 內部課程:

class Coord
{
    private int _x, _y;

    public Coord(int x, int y)
    {
        _x = x; 
        _y = y;
    }

    public int x
    {
        get 
        { 
            return _x; 
        }
        set 
        { 
            _x = value; 
        }
    }

    public int y
    {
        get 
        { 
            return _y; 
        }
        set 
        { 
            _y = value; 
        }
    }

    public static bool operator true(Coord coord1)
    {
        if (coord1.x != 0 || coord1.y != 0)
        { 
            return true; 
        }
        else
        { 
            return false; 
        }
    }

    public static bool operator false(Coord coord1)
    {
        if (coord1.x == 0 && coord1.y == 0)
        { 
            return true; 
        }
        else
        { 
            return false; 
        }
    }
}

內部主課程:

class Program
{
    static void Main(string[] args)
    {
        Coord coord = new Coord(0, 0);

        if (coord)
        {
            Console.WriteLine("True");
        }
        else
        {
            Console.WriteLine("False");
        }

        Console.ReadLine();
    }
}

我只是C#的初學者,但我正在努力學習一切。

確保最少分配幾十年。 我經常學習這門語言的新知識。

我堅持超載真假; 這是什么意思?

它們很少使用; 它們主要用於制作用戶定義的&&|| 運營商是短路的。

閱讀我關於這個主題的系列文章; 你會對第三部分特別感興趣,但你應該閱讀整篇文章。

https://ericlippert.com/2012/03/26/null-is-not-false-part-one/

如果可以的話,請解釋如果coord改變為其他東西會產生什么結果(例如:(3,5))。

如果你想知道改變某些程序時程序的作用,請更改並運行它 ,很快就會知道!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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