C# 重载true和false运算符的作用是什么?
我只是C#的初学者,但我正在努力学习一切。然而,我被困在超载的真假上;这是什么意思?请尽可能地给出基本的回答(这样即使是一个13岁的孩子也能理解其中的逻辑)。 (请确保尽可能理解,谢谢)。 如果可以的话,请解释一下如果合作关系发生了变化(例如:(3,5)),结果会是什么 我在这里预先编写了代码: (你能解释一下改变坐标时的不同输出吗) 信息: -该程序是一个控制台应用程序 -C# 我做了一个叫做“坐标”的课程。 课堂内:C# 重载true和false运算符的作用是什么?,c#,operator-overloading,C#,Operator Overloading,我只是C#的初学者,但我正在努力学习一切。然而,我被困在超载的真假上;这是什么意思?请尽可能地给出基本的回答(这样即使是一个13岁的孩子也能理解其中的逻辑)。 (请确保尽可能理解,谢谢)。 如果可以的话,请解释一下如果合作关系发生了变化(例如:(3,5)),结果会是什么 我在这里预先编写了代码: (你能解释一下改变坐标时的不同输出吗) 信息: -该程序是一个控制台应用程序 -C# 我做了一个叫做“坐标”的课程。 课堂内: class Coord { private int _x, _y;
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#的初学者,但我正在努力学习一切
确保至少分配几十年。我经常学习这门语言的新知识
我被困在超载的真假上;这是什么意思
它们很少被使用;它们主要用于使用户定义的&&
和|
操作员短路
阅读我关于这个主题的系列文章;你会对第三部分特别感兴趣,但你应该通读全文
如果可以的话,请解释一下如果合作关系发生了变化(例如:(3,5)),结果会是什么
如果你想知道当你改变某个东西时程序会做什么,改变它并运行它,很快你就会知道 您好,欢迎来到StackOverflow!通过逐行调试您自己的代码将有助于您了解程序正在执行的操作。在您尝试调试代码之后,如果您仍然有问题,请确保您提供了一个解决方案。另请参见。这是一个C#version 1设计错误,因为它还没有可空类型。所做的事情无法撤消,但您肯定可以停止使用它。一个名为IsEmpty的属性将是一个明智的选择。或者只是使用,而不是自己写。或者使它可以为空。@HansPassant:有趣。我从未看过那些文件。如果我这样做的话,我会对提议的DBNull类型使用运算符true和false进行彻底的批评。。。。嗯,你“非常”乐于助人