2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1、Operator Overloading
Operator overloading refers to redefining C# built-in operators.
programmerIt is also possible to use operators of user-defined types. Overloaded operators are functions with special names, defined by the keyword operator followed by the operator symbol. Like other functions, overloaded operators have a return type and a parameter list.
2. Define operator overloading in the Box class
public class Box
{
private double length;
[Description("长度")]
public double Length
{
get { return length; }
set { length = value; }
}
private double width;
[Description("宽度")]
public double Width
{
get { return width; }
set { width = value; }
}
private double height;
[Description("高度")]
public double Height
{
get { return height; }
set { height = value; }
}
public double GetVolume()
{
return length * width * height;
}
public static bool operator == (Box box1, Box box2)
{
return (box1.length == box2.length) && (box1.width == box2.width) && (box1.height == box2.height);
}
public static bool operator != (Box box1, Box box2)
{
return (box1.length != box2.length) || (box1.width != box2.width) || (box1.height != box2.height);
}
}
3. Apply the Box class
Box box1 = new Box();
Box box2 = new Box();
Box box3 = new Box();
double volume = 0.0;
box1.Length = 3.0;
box1.Width = 4.0;
box1.Height = 5.0;
volume=box1.GetVolume();
Console.WriteLine($"Box1的体积是{volume}");
box2.Length = 6.0;
box2.Width = 7.0;
box2.Height = 8.0;
volume = box2.GetVolume();
Console.WriteLine($"Box2的体积是{volume}");
bool flag=box1 == box2;
Console.WriteLine($"Box1==Box2:{flag}");
flag = box1 != box2;
Console.WriteLine($"Box1!=Box2:{flag}");
4. Operation results