C 型別轉換

2021-06-04 19:10:26 字數 2408 閱讀 6827

型別轉換

一、c#型別轉換可以分為兩大類:一類是同一型別轉換(cast),另一類是不同型別轉換(convert)。

(一)同一型別轉換(cast)可分為兩種:(1)隱式轉換:如果當目標型別一定能滿足源型別轉換過去後的要求的話就是隱式轉換。

(2)顯示轉換(強制轉換):如果當目標型別不一定能滿足源型別轉換過去後的要求的話就需要顯示轉換(程式設計師自已負責)。

具體解釋參考下圖:

(二)不同型別轉換:convert

二、具體例項<1>同一型別資料轉換例項:

功能段1:怎樣列印資料型別的範圍

功能段2:隱式轉換

功能段3:強制轉換(byte)

namespace cast入門

,最小值",int.maxvalue,int.minvalue);

console.writeline("byte的最大值是,最小值",byte.maxvalue,byte.minvalue);

//int i =99999999999999999; 錯誤:99999999999999999超出int整數範圍

#endregion

#region 隱式轉換

byte b = 3;

int i = b; //(乙個小的範圍裡的數放在乙個大的範圍裡一定會放下的,這就好比小容器一定能放在大容器裡)隱式轉換

console.writeline(i);

#endregion

#region 強制轉換(byte)

//b = i; (乙個大的範圍裡的數放在乙個小的範圍裡可能會放不下,編譯器不能保證一定能轉換成功。)

b=(byte)i; //強制轉換

console.writeline(b);

//注意:標byte與不標byte的區別

i = 2;

b = i; //不標上byte,程式報錯。

console.writeline(b);

i = 2;

b = (byte)i; //標上byte,程式不報錯了,但程式設計師來負責

console.writeline(b);

//注意:標byte與不標byte的區別

i = 2000;

b = i; //不標上byte,程式報錯.

console.writeline(b);

i = 2000;

b = (byte)i; //標上byte,程式不報錯,錯誤程式設計師來負責。

console.writeline(b);

#endregion

console.readkey();}}

}

注意:在隱式轉換中注意標註byte,它做代表的意思是:強制轉換,程式不再報錯,轉換結果程式設計師自己負責。<2>不同型別資料轉換例項:

namespace convert轉換}}

<3>同一型別資料轉換和不同型別資料轉換例項的綜合比較:

namespace 型別轉換}}

總結(個人理解):

cast和convert兩大型別轉換的區別:

cast:

同一型別的資料的轉換,只是大小範圍不同之間同一型別之間的轉換(比如:byte型別和int型別之間的轉換)

(1) 小範圍轉換為大範圍轉換:隱式轉換(同一型別的資料,:小→大)

(2)大範圍轉換為小範圍轉換:強制轉換(同一型別的資料:大→小)

convent:不同型別的資料的轉換,不可以進行強制轉換,只能用convert(比如:int型別和string型別之間的轉換)

mysql型別轉換c 型別轉換 C 型別轉換

一 簡介 型別轉換 把資料從一種型別轉換另一種型別 我們要求等號兩邊參與運算子必須型別一致,如果不一致,滿足下列條件會發生自動型別轉換或者隱式型別轉換。1.兩種型別相容 例如 int和double 相容 都是數字型別 2.目標型別大於源型別 double int 顯示型別轉換 1.兩種型別相相容 i...

C 型別轉換

在程式中,進行型別轉換是常見的事。那麼在 c 中支援以前語言的型別轉換方法,即用型別名進行強行轉換,例如 object objtest new newtype newtype newvalue newtype objtest 但是這樣轉換,有個嚴重的問題,就是在把 objtest 強轉換成 newt...

C 型別轉換

型別轉換是將一種型別的值對映為另一種型別的值。型別轉換實際上包含有自動隱含和強制的兩種。型別的自動隱式轉換 c 語言編譯系統提供的內部資料型別的自動隱式轉換規則如下 1.程式在執行算術運算時,低型別可以轉換為高型別。2.在賦值表示式中,右邊表示式的值自動隱式轉換為左邊變數的型別,並賦值給它。3.當在...