重载真假运算符有什么作用?

3 c# operator-overloading

我只是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; 
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

内部主课程:

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

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

        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

Eri*_*ert 5

我只是C#的初学者,但我正在努力学习一切.

确保最少分配几十年.我经常学习这门语言的新知识.

我坚持超载真假; 这是什么意思?

它们很少使用; 它们主要用于使用户定义&&||操作员短路.

阅读我关于这个主题的系列文章; 你会对第三部分特别感兴趣,但你应该阅读整篇文章.

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

如果可以的话,请解释如果coord已改变为其他内容会产生什么结果(例如:(3,5)).

如果你想知道改变某些程序时程序的作用,请更改并运行它,很快就会知道!