我只是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();
}
}
答案 0 :(得分:5)
我只是C#的初学者,但我正在努力学习一切。
确保最少分配几十年。我经常学习这门语言的新知识。
我坚持重载真假;这是什么意思?
它们很少使用;它们主要用于使用户定义的&&
和||
运算符短路。
阅读我关于这个主题的系列文章;你会对第三部分特别感兴趣,但你应该阅读整篇文章。
https://ericlippert.com/2012/03/26/null-is-not-false-part-one/
如果可以的话,请解释如果coord改变为其他内容会产生什么结果(例如:(3,5))。
如果您想知道某个程序在更改内容时的作用,更改并运行,很快就会知道!