變數類型的轉化: 轉換原則 同類型的大的可以裝小的,小類型的裝大的就需要強制轉換。 隱式轉換: 同種類型的轉換: //有符號 long——>int——>short——>sbyte long l = 1; int i = 1; short s = 1; sbyte sb = 1; //隱式轉換 int ...
變數類型的轉化:
轉換原則 同類型的大的可以裝小的,小類型的裝大的就需要強制轉換。
隱式轉換:
同種類型的轉換:
//有符號 long——>int——>short——>sbyte
long l = 1;
int i = 1;
short s = 1;
sbyte sb = 1;
//隱式轉換 int隱式轉換成了long
//可以用大範圍 裝小範圍的 類型 (隱式轉換)
l = i;
//不能夠用小範圍的類型去裝在大範圍的類型
//i = l;
l = i;
l = s;
l = sb;
i = s;
s = sb;
ulong ul = 1;
uint ui = 1;
ushort us = 1;
byte b = 1;
ul = ui;
ul = us;
ul = b;
ui = us;
ui = b;
us = b;
//浮點數 decimal double——>float
decimal de = 1.1m;
double d = 1.1;
float f = 1.1f;
//decimal這個類型 沒有辦法用隱式轉換的形式 去存儲 double和float
//de = d;
//de = f;
//float 是可以隱式轉換成 double
d = f;
//特殊類型 bool char string
// 他們之間 不存在隱式轉換
bool bo = true;
char c = 'A';
string str = "123123";
//特殊類型 bool char string
// 他們之間 不存在隱式轉換
不同類型的轉換:
char類型可以隱式轉換成數值型,根據對應的ASCII碼來進行轉換。
無符號的無法隱式存儲有符號的,而有符號的可以存儲無符號的。
顯示轉換
-
括弧強轉(註意精度問題 範圍問題)
//有符號類型 int i=1; short s=(short)i; //無符號類型 byte b=1; uint ui=(uint)b; //浮點數 float f=1.5f; double d=1.5; f=(float)d; //無符號和有符號 //要保證正數 註意範圍 int ui2=1; int i2=1; ui2=(uint)i2; //浮點和整型 i2=(int)1.25f; //char和數值類型 i2='A'; char c=(char)i2;
-
Parse方法
//Parse轉換 int i4=int.Parse("123"); float f4=float.Parse("12.3"); //註意類型和範圍!
-
Convert法
int a=Convert.ToInt32("12"); a=Convert.ToInt32("1.35f");//會四捨五入 a=Convert.ToInt32(true);//轉為1 false轉為0
註意:在Convert轉換中變數以Int做標準,例如 INT16 為int,ToSingle為float
ToDouble為double,ToBoolean為bool;
-
其它類型轉換為string(調用ToString方式)
string str=true.ToString();
string str2=1.5f.ToString();