请各位大神给我讲解一下implicit operator 与 explicit operator的区别.因为我发现implicit operator是可以完全代替explicit operator的.

解决方案 »

  1.   

    一个隐式,一个显式,msdn上有列子说明
      

  2.   

    implicit operator 与 explicit operator的区别在于,前者是隐式转换,比方说将byte类型转换为int类型:byte b = 8; int i = b,这里将b转换为int型就是隐式转换;后者是强制转换,例如:int i = 300; byte b = (int)i .
      

  3.   


    implicit operator关键字同样可以达到byte b = (int)i强制转换的效果.
      

  4.   

    implicit operator关键字是用来实现隐式转换的运算符重载,byte b = 8; int i = b;这样写编译器不报错就是因为int类型实现了byte类型的隐式转换。