重载true和false运算符的作用

本文关键字:作用 运算符 false true 重载 | 更新日期: 2023-09-27 17:57:36

我只是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();
    }
}

重载true和false运算符的作用

我只是一个C#的初学者,但我正在努力学习所有的东西。

确保至少分配几十年。我经常学习这种语言的新知识。

我执着于超载的真与假;这是什么意思?

它们很少被使用;它们主要用于使用户定义的CCD_ 1和CCD_。

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

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

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

如果你想知道当你改变某个东西时程序会做什么,改变它并运行它,很快你就会知道!