程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#數據類型轉換

C#數據類型轉換

編輯:C#入門知識

這些天寫BS的代碼的時候經常用到C#,對C#數據類型這塊做了簡單的總結。本文講解了C#的隱式轉換,顯示轉換,parse,Tostring,Convert的轉換。

        隱式轉換
             當對簡單的值類型進行轉換時,如果是按照 Byte,short,int,long,float,double從左到右(從短到長)進行轉換的時候,可以直接進行轉換(隱式轉換),不用做任何說明。簡單的代碼示例:
[csharp] 
static void Main(string[] args) 
        { 
            int a = 10; 
            long b = a; 
            Console.Write("b的值為:"+b); 
            Console.ReadKey(); 
             
        } 

        顯示轉換
       依然是對值類型進行轉換時,從長字節轉換成短字節,直接轉換的話,編譯器會提示“無法將類型 *轉換為類型*,存在一個顯示轉換”,這時需要進行強制轉換(顯示轉換)。簡單的代碼示例:
[csharp] 
static void Main(string[] args) 
        { 
            long a = 10; 
            int b = (int)a; 
            Console.Write("b的值為:"+b); 
            Console.ReadKey();    
        } 

            每種數據類型都存在自身的范圍,例如byte類型的范圍是0~255,int型的范圍是0~65535,當int型轉換成byte類型時,如果超出了自身的范圍時會怎麼處理呢?看下代碼示例:
[csharp]
staticvoid Main(string[] args) 
        { 
            int a = 256; 
            byte b = (byte)a; 
            Console.Write("b的值為:"+b); 
            Console.ReadKey();    
        } 

      這段代碼的運行結果 “b的值為0”,如果把a的值改為257,則b的值為1。結果是怎麼來的,編譯器會把256轉換成對應的二進制,也就是100000000,當轉換成byte類型時(8位二進制數),會長出8位的部分截掉,因此結果變成了0。
      
       toString()轉換
      當把值類型轉換成字符串類型時,可以直接調用值類型的方法toString()進行轉換,另外toString還可以將結果轉換成相應的進制形式,簡單的代碼示例:
[csharp]
<span style="font-size:18px;">staticvoid Main(string[] args) 
        { 
            //轉換為對應的字符串類型 
            int a = 256; 
            string b =a.ToString(); 
            Console.Write("b的值為:"+b); 
            Console.ReadKey();    
        } 
 
 static void Main(string[] args) 
        { 
            //轉換為十六進制形式(X可以換為小寫,代表對應的a-f的大小寫) 
            int a = 256; 
            string b =a.ToString("X"); 
            //輸出結果為“b的值為100” 
            Console.Write("b的值為:"+b); 
            Console.ReadKey();    
        }</span> 

       parse方法
      像int、long、float類型都有parse方法,可以將字符串轉換為對應的數據類型,簡單的代碼實例:
[csharp] 
<span style="font-size:18px;">staticvoid Main(string[] args) 
        { 
            int a = 256; 
            string b ="256"; 
            if (int.Parse(b) ==a) 
            { 
                Console.Write("a和b的值相等!"); 
                Console.ReadKey();    
            } 
        }</span> 

      Convert類
      Convert有很多的轉換數據類型的方法,它將繼承自Object類型的對象轉換為制定的類型,即Convert.toInt32()(還有對應其他類型的轉換)。另外的一種方法:Convert.ChangeType(Object,Type),這種方法在涉及到泛型時會顯現出優勢。

 

 

 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved