C#變數類型轉換

來源:互聯網
上載者:User

標籤:style   http   color   使用   strong   資料   

1.變數

變數是指在程式的運行過程中隨時可以發生變化的量。

文法:資料類型 變數名;

例如:string stra="這是一個字串";

2.常量

也稱常數,是一種恒定的或不可變的數值或資料項目。

文法: const 資料類型 常量名 = 常量值;

例如:const string strconst="常量";

3.資料類型:

在C#當中,資料類型分為兩種,實值型別與參考型別.

實值型別,表示實際資料,只是將值存放在記憶體中,實值型別都儲存在堆棧中,包括:簡單類型:int,char,float,double,bool等,還有結構及枚舉.

參考型別,表示指向資料的指標或引用,包含記憶體堆中對象的地址,為 null時則表示未引用任何對象,包括:類,介面,數組,字串,委託,Object.

 

有兩種參考型別在C#中受到了特別的重視,它們的C#別名和預定義實值型別的C#別名很相像。第一種是Object類(C#別名是object, o小寫)。這是所有實值型別和參考型別的最終基類。因為所有的類型派生自Object,所以可以把任何類型轉換為Object類型,甚至實值型別也可以轉換。所有的實值型別都派生自參考型別。第二種是String類。字串代表一個固定不變的Unicode字元序列。字串在很多方面都像實值型別,而不像參考型別。

4.C#變數類型轉換:

字串與實值型別之間的轉換:

類型.Parse(字串),傳回值為相應的類型.

Convert.To類型(參數),參數為多種,傳回值為類型.

例:

  1. static void Main()  
  2. {  
  3.      int inti = int.Parse("1");//類型.Parse(字串)  
  4.      int intj = Convert.ToInt32("1");//Convert.To類型(參數)  

強制C#變數類型轉換:

在同為實值型別或同為引用類時,從較小資料類型到較大資料類型的轉換稱為擴充轉換,否則稱為收縮轉換。編譯器能進行隱式的擴充轉換,對於收縮轉換必須進行顯式的強制性轉換。因為收縮轉換會導致遺失資料,在轉換前我們要檢查實際值是否超出目標類型的範圍。另一個辦法是使用checked運算子,如果轉換時遺失資料將拋出一個錯誤。

如:

  1. static void Main()  
  2. {  
  3.      int inti = 7;//32位的整數  
  4.       long intl = 8;//64位的整數  
  5.       intl = inti;//從小類型int轉向大類型long時,為隱式轉換  
  6.       inti = (int)intl;//把大類型logn轉為小類型int時,就必須得加強制轉換符(int)  

裝箱與拆箱

定義:把實值型別轉換為Object的過程稱為裝箱。

由於實值型別與參考型別在記憶體中的儲存方式不同,所以我們在轉換的過程的理解上有些複雜,實際的文法跟強制類型轉換無區別,我們形象的稱之為裝箱,與拆箱.對於拆箱的限制其實很好理解,因為誰也不能從裝的是蘋果的箱子裡拆出葡萄來.

  1. static void Main()  
  2. {  
  3.      int j = 4;  //可以以下面正常的轉換文法顯式地將一個值裝箱:  
  4.       object ojb = (object)j;  
  5.      int k = (int)obj;  //使用相同的C#變數類型轉換文法可以把裝箱的變數拆箱回實值型別:  
  6.               
  7.       //對拆箱操作有一些限制。只能將顯式裝箱的變數進行拆箱。正常的強制轉換中的限制在這裡也適用。例如,如果把一個long型值裝箱為一個對象,我們不能把對象拆箱為一個int型值,雖然在拆箱後可以顯式地把long轉換為int:  
  8.       long x = 1000;  
  9.      object obj = (object)x;  
  10.      int i = (int)((long)obj);  

 

學習自http://developer.51cto.com/art/200908/143618.htm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.