2013-03-02 129 views
0

这两种方法有什么区别?他们都返回相同的类型,这是float,但一个使用铸造,另一个不。铸造类型和转换

public class Para1 
{ 
    public float method1(int z) 
    { 
     return z; 
    } 

    public float method2(int z) 
    { 
     return (float) z; 
    } 
} 

回答

1

的一种是采用隐式转换从intfloat而另一个使用显式转换。在这种情况下,这相当于同样的事情。

+0

没事做中我们使用铸造时,这种情况下,哪些方法是完美的人使用,为什么?谢谢 – 2013-03-02 17:42:00

+0

method2更具可读性,但没有一个比另一个更好。 – 2013-03-02 17:44:29

0

第一个函数将int转换为类型float隐式。第二个是明确的。有时需要显式强制转换,并且Visual Studio不能隐式转换复杂类型。

+0

对于.NET,特别是C#,它不是Visual Studio,不知道如何转换类型。类型转换被明确定义为“运算符”,编译器将根据它们是否被定义为['implicit']来使用(http://msdn.microsoft.com/zh-cn/library/z5z9kes2.aspx)或['explicit'](http://msdn.microsoft.com/en-us/library/xhbhezf4.aspx)。编译器也不会为您执行多个隐含步骤。 – pickypg 2013-03-02 17:45:22

0

第一个功能是隐式intfloat的类型转换。第二个是明确的

隐式类型转换是由编译器完成的,显式类型转换是由程序员完成的。

有关详细信息,请参阅:Type conversion