基于數(shù)據(jù)類型轉(zhuǎn)換(裝箱與拆箱)與常量詳解
隱式轉(zhuǎn)換[自動類型轉(zhuǎn)換]:
兩種類型要兼容,原類型值域要小于目標類型值域,可以簡單的理解為由小轉(zhuǎn)大。
public class Test { private void Start() { int a = 10; float b = a;//int 類型隱式轉(zhuǎn)換為 float 類型 } }
顯示轉(zhuǎn)換[強制類型轉(zhuǎn)換]:
兩種類型要兼容,原類型值域要大于目標類型值域,可以簡單的理解為由大轉(zhuǎn)小。
【缺點】:1、數(shù)據(jù)溢出。2、精度丟失。
數(shù)值類型之間的轉(zhuǎn)換。
public class Test { private void Start() { float a = 1.5f; int b = (int)a;//float 類型強制轉(zhuǎn)換為 int 類型 } }
其他類型轉(zhuǎn)換成字符串類型調(diào)用ToString()方法。
public class Test { private void Start() { float a = 1.5f; bool val = true; string str = val.ToString();//bool 類型強制轉(zhuǎn)換為 string 類型 str = a.ToString();//float 類型強制轉(zhuǎn)換為 string 類型 } }
字符串類型轉(zhuǎn)換為其他基本類型調(diào)用Parse()方法和TryParse()方法。
public class Test { private void Start() { string str = "true"; bool v = bool.Parse(str);//如果轉(zhuǎn)換成功會將值賦給變量 v,如果轉(zhuǎn)換不成功會報錯。 int num; bool val = int.TryParse(str, out num);//不管成功與否都會返回一個 bool 值。如果轉(zhuǎn)換成功,會將值賦給變量 num。 } }
其他基本類型之間互相轉(zhuǎn)換用 Convert。(使用 Convert 需要引用 using System 程序集)
using UnityEngine; using System; public class Test { private void Start() { bool val = false; int num = Convert.ToInt32(val); int a = 0; bool v = Convert.ToBoolean(a); } }
裝箱:值類型轉(zhuǎn)換成引用類型。
拆箱:引用類型轉(zhuǎn)換為值類型。
注意:
1、兩種類型只有存在繼承關(guān)系的時候,才可能出現(xiàn)裝箱或者拆箱操作。
2、裝箱和拆箱的本質(zhì)上是數(shù)據(jù)存儲在??臻g與堆空間之間的變更,因此頻繁的裝箱或者拆箱會降低運行效率,所以代碼中盡量少用裝箱或者拆箱操作。
常量:一個不能變化的量,常量一旦聲明,就不可以再重新賦值。
命名規(guī)則:常量名的命名一般全是大寫,單詞與單詞之間用下劃線分隔(例:SERVER_IP)。
常量的聲明:需要加上關(guān)鍵字 const ,且必須在聲明時賦值。(例:const int SERVER_IP;)
以上這篇基于數(shù)據(jù)類型轉(zhuǎn)換(裝箱與拆箱)與常量詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。