自定义类的数据转换:我们可以想象成自己左手有个大金项链,右手有个金条。我们想把大金链子变成金条,需要在大金链子的类中声明,这个大金链子是可以变成金条的。
定义金条(第一个类)
class Gold_Bar
{
//100克金条
public int Weight = 100;
}
定义大金链子(第二个类)
class Big_Gold_Chain
{
//大金链子有10节
public int Length = 10;
//定义金链子和金条的转换关系
public static explicit operator Gold_Bar(Big_Gold_Chain Big_Gold_Chain)
{
Gold_Bar Gold_Bar = new Gold_Bar();
//两节链子可以换成1根金条
Gold_Bar.Weight = Big_Gold_Chain.Length / 2 * 100;
return Gold_Bar;
}
}
在我们定义定义金链子时使用以下语句,并在语句中代入金链子和金条的转换比例即可。
public static explicit operator Gold_Bar(Big_Gold_Chain Big_Gold_Chain)
{
}
最后将金链子(第一个类)转换成金条(第二个类),并运行代码,就得到了500克的金条。
public void Main_win()
{
Big_Gold_Chain Big_Gold_Chain1 = new Big_Gold_Chain();
Gold_Bar New_Gold_Bar= (Gold_Bar)Big_Gold_Chain1;
Console.WriteLine(New_Gold_Bar.Weight);
}