implicit和explicit
implicit:自定义类型隐式转换。
explict:自定义类型强制转换。
class Program { static void Main(string[] args) { Currency currency = new Currency(10, 50); float f = currency; int intValue = (int)currency; Console.WriteLine(currency.ToString()); Console.Read(); } } struct Currency { private uint Dollars; private ushort Cents; public Currency(uint dollars, ushort cents) { Dollars = dollars; 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); } public static explicit operator int(Currency value) { return (int)value.Dollars; }