隱式轉換[自動類型轉換]:
兩種類型要兼容,原類型值域要小于目標類型值域,可以簡單的理解為由小轉大。
1
2
3
4
5
6
7
8
|
public class Test { private void Start() { int a = 10; float b = a;//int 類型隱式轉換為 float 類型 } } |
顯示轉換[強制類型轉換]:
兩種類型要兼容,原類型值域要大于目標類型值域,可以簡單的理解為由大轉小。
【缺點】:1、數據溢出。2、精度丟失。
數值類型之間的轉換。
1
2
3
4
5
6
7
8
|
public class Test { private void Start() { float a = 1.5f; int b = (int)a;//float 類型強制轉換為 int 類型 } } |
其他類型轉換成字符串類型調用ToString()方法。
1
2
3
4
5
6
7
8
9
10
|
public class Test { private void Start() { float a = 1.5f; bool val = true; string str = val.ToString();//bool 類型強制轉換為 string 類型 str = a.ToString();//float 類型強制轉換為 string 類型 } } |
字符串類型轉換為其他基本類型調用Parse()方法和TryParse()方法。
1
2
3
4
5
6
7
8
9
10
|
public class Test { private void Start() { string str = "true"; bool v = bool.Parse(str);//如果轉換成功會將值賦給變量 v,如果轉換不成功會報錯。 int num; bool val = int.TryParse(str, out num);//不管成功與否都會返回一個 bool 值。如果轉換成功,會將值賦給變量 num。 } } |
其他基本類型之間互相轉換用 Convert。(使用 Convert 需要引用 using System 程序集)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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); } } |
裝箱:值類型轉換成引用類型。
拆箱:引用類型轉換為值類型。
注意:
1、兩種類型只有存在繼承關系的時候,才可能出現裝箱或者拆箱操作。
2、裝箱和拆箱的本質上是數據存儲在棧空間與堆空間之間的變更,因此頻繁的裝箱或者拆箱會降低運行效率,所以代碼中盡量少用裝箱或者拆箱操作。
常量:一個不能變化的量,常量一旦聲明,就不可以再重新賦值。
命名規則:常量名的命名一般全是大寫,單詞與單詞之間用下劃線分隔(例:SERVER_IP)。
常量的聲明:需要加上關鍵字 const ,且必須在聲明時賦值。(例:const int SERVER_IP;)
以上這篇基于數據類型轉換(裝箱與拆箱)與常量詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/xiaoyulong/p/7897077.html