c當表示式中混合了幾種不同的資料型別時,C會基於運算的順序將它們自動轉換成同一型別,規定是啥呢

時間 2022-03-08 22:55:18

1樓:人口學細小病毒

byte,short,int,long,float,double根據這個順序,各種型別的值依次可以向後自動轉換

doube等級最高,系統轉換的規則是高階的和低階的在一起運算的話,都把低階的資料型別向高階轉換,反之就會出錯

c#資料型別轉換的幾種形式

c#中型別如何強制轉換

2樓:特特拉姆咯哦

方法:1、int適合簡單資料型別之間的轉換,c#的預設整型是int32(不支援bool型);

2、int.parse(string sparameter)是個靜態方法,引數型別只支援string型別;

3、convert.toint32()適合將object型別轉換為int型;

4、convert.toint32()和int.parse()的細微差別:

對於空值(null)的處理不 同,convert.toint32(null)會返回0而不會產生任何異常,但int.parse(null)則 會產生異常。

擴充套件資料

自動型別轉換:

在c語言中,自動型別轉換遵循以下規則:

1、若參與運算量的型別不同,則先轉換成同一型別,然後進行運算。

2、轉換按資料長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。

a、若兩種型別的位元組數不同,轉換成位元組數高的型別

b、若兩種型別的位元組數相同,且一種有符號,一種無符號,則轉換成無符號型別

3、所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表示式,也要先轉換成double型,再作運算。

4、char型和short型(在visual c++等環境下)參與運算時,必須先轉換成int型。

5、在賦值運算中,賦值號兩邊量的資料型別不同時,賦值號右邊量的型別將轉換為左邊量的型別。如果右邊量的資料型別長度比左邊長時,將丟失一部分資料,這樣會降低精度,丟失的部分直接捨去。

3樓:匿名使用者

1.任何一門程式語言均有相關資料型別。c#也不例外,其基本資料型別有int,short,long,float,double,string等。

資料型別之間可以相互轉換。不過轉換過程要注意小型別能轉換成大型別,但大型別一般不能轉換成小型別。如int型可以轉換成float型,但float型不一定可以轉換成int型,至少這在c,c++是這樣,但在c#中明顯有了改變,似乎微軟公司也允許這樣的形式存在了。

例如:double dbl_num=12345678910.456;

int k = (int) dbl_num ;//此處運用了強制轉換

以上**如果在c,c++中強制轉換成int型,肯定會出錯,但現在在c#中卻不會出錯了,不過轉換後的值往往是溢位值,是不精通的。這點需要大家注意。

2.採用另一種方式轉換型別,如int.parse(),int32.parse()等採用方法來轉換.

如string str=」100〃;

int i=int.parse(str);

注意:str除掉引號的型別必須和*.parse的型別一致。如果將100改成100.78,即變成float型別,執行時將會報錯」輸入字串的格式不正確.」

3.採用字尾式轉換,如k.tostring(),一般運用於字串或日期等其它型別

int i=100;

string s=i.tostring();

4.採用convert類來實現轉換,該類基本支援所以型別之間的轉換

string str=」100〃;

int i = convert.toint16(str);

注意:str除掉引號的型別必須和convert.*的型別一致。如果將100改成100.78,即變成float型別,執行時將會報錯」輸入字串的格式不正確.」

4樓:

convert.toint32

convert類

c#中=>是什麼意思?

5樓:匿名使用者

=>是蘭姆達表示式

g => g.update(location) 的意思是一個函式,把這個函式按照傳統方法是這個樣子

void func(geoservice g)

_geoservices.foreach(g => g.update(location)); 完全是這個樣子

foreach(geoservice g in _geoservices)

foreach是一個ienumable的擴充套件方法,定義在其他地方,你沒有列出來

蘭姆達是.net 3.5的新語法

6樓:陌上的那顆新桑

請看這裡。

7樓:匿名使用者

匿名委託符吧 網上找找"委託"

c語言的邏輯表示式

這個必須先弄清楚這三個邏輯運算子的優先順序,這三個中優先順序 最高,其次為 最低。因此對於 a b c 1 先計算 a b 由於 a b,結果為1,1得到0,在計算 c,由於c為非0數值 c語言中,非0數值視為真 所以 c結果為0,由於 優先順序高於 則接下來計算0 0,結果為0.最後計算0 1,則...

c語言中表示式的值怎麼算,C語言中表示式的值怎麼算

墨汁諾 此式即等同於 4!3 2 4 1 5 1代表真,0代表非,則原式即 1 1 0 所以值為0。例如 12 5 2 只為這個是整數運算,結果只取整數部分。62 1 6 7 7 6 1 13 49 623.2 6 7 1 44.8 可以。逗號運算子,從左至右計算,取最後一個表示式的值作為整個語句的...

C語言中條件表示式和邏輯表示式的意義是什麼,他們的取值如何

超級大大餅乾 邏輯表示式 用於判斷條件是否成立,表示式的值為 零 假 或 非零 真 使用 運算子的表示式均稱為邏輯表示式。條件表示式 形如 取值 若exp1的值非零 則取exp2的值 否則取exp3的值 說明 exp1 exp2 exp3為必要的表示式 c語言繼續發展,在1982年,很多有識之士和美...