[英]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.