首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

简单数据类型转换有关问题

2012-05-16 
简单数据类型转换问题Console.WriteLine()重载方法的首选方式为什么是:Currency -》float-》double//书上的

简单数据类型转换问题
Console.WriteLine()重载方法的首选方式为什么是:Currency -》float-》double//书上的例子
为什么不是:Currency -》float

C# code
   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);  //这里有疑问        }



[解决办法]
struct是一种值类型,自然继承自object

Currency继承自object

而不是继承自float

Console.WriteLine()没有重载Currency,所以重载列表里面选择了自己的父类。

热点排行