淺談c#中的類型轉換

來源:互聯網
上載者:User

標籤:相同   裝箱   long   對象   包括   UI   條件   資料   執行   

隱式轉換:

隱式轉換就是系統預設的、不需要加以聲明就可以進行的轉換。在隱式轉換過程中,編譯器無需對轉換進行詳細檢查就能夠安全地執行轉換。

比如從int類型轉換到long類型就是一種隱式轉換。隱式轉換一般不會失敗,轉換過程中也不會導致資訊丟失。

 比如:

 

int i=10; 

long l=i; 

裝箱轉換實際上就是一種隱式類型轉換。在本節,我們還將講解以下隱式轉換的規則:

 

 

隱式數值轉換

 

隱式數值轉換包括以下幾種:

 

●從sbyte類型到short,int,long,float,double,或decimal類型。

 

●從byte類型到short,ushort,int,uint,long,ulong,float,double,或decimal類型。

 

●從short類型到int,long,float,double,或decimal類型。

 

●從ushort類型到int,uint,long,ulong,float,double,或decimal類型。

 

●從int類型到long,float,double,或decimal類型。

 

●從uint類型到long,ulong,float,double,或decimal類型。

 

●從long類型到float,double,或decimal類型。

 

●從ulong類型到float,double,或decimal類型。

 

●從char類型到ushort,int,uint,long,ulong,float,double,或decimal類型。

 

●從float類型到double類型。

 

其中,從int,uint,或long到float以及從long到double的轉換可能會導致精度下降,但決不會引起數量上的丟失。其它的隱式數值轉換則不會有任何資訊丟失。

 

 

 

 

顯式轉換:

隱式引用轉換包括以下幾類:

 

●從任何參考型別到物件類型的轉換

 

●從類類型s到類類型t的轉換,其中s是t的衍生類別。

 

●從類類型s

到介面類型t的轉換,其中類s實現了介面t。

 

●從介面類型s到介面類t的轉換,其中t是s的父介面。

 從元素類型為Ts的數群組類型S向元素類型為Tt的數群組類型T轉換,這種轉換需要滿足下列條件:

 

●S和T只有元素的資料類型不同,但它們的維數相同。

 

淺談c#中的類型轉換

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.