2013-03-02 100 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