Console.WriteLine()重载方法的首选方式为什么是:Currency -》float-》double//书上的例子
为什么不是:Currency -》float struct Currency
{
private delegate string GetAstring();
public uint Dollars;
public ushort Cents;
public Currency(uint Dollars, ushort Cents)
{
this.Dollars = Dollars;
this.Cents = Cents;
}
public override string ToString()
{
return string.Format("${0}.{1,-2:00}", Dollars, Cents);
}
public static implicit operator float(Currency value)
{
return value.Dollars + (value.Cents / 100.0f);
}
static void Main(string[] args)
{
Currency balance = new Currency(50,35);
Console.WriteLine(balance); //这里有疑问 }
为什么不是:Currency -》float struct Currency
{
private delegate string GetAstring();
public uint Dollars;
public ushort Cents;
public Currency(uint Dollars, ushort Cents)
{
this.Dollars = Dollars;
this.Cents = Cents;
}
public override string ToString()
{
return string.Format("${0}.{1,-2:00}", Dollars, Cents);
}
public static implicit operator float(Currency value)
{
return value.Dollars + (value.Cents / 100.0f);
}
static void Main(string[] args)
{
Currency balance = new Currency(50,35);
Console.WriteLine(balance); //这里有疑问 }
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货