隱式轉(zhuǎn)換和顯式轉(zhuǎn)換 c#中隱式轉(zhuǎn)換和顯示轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)的區(qū)別?
c#中隱式轉(zhuǎn)換和顯示轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)的區(qū)別?一個(gè)開(kāi)箱,一個(gè)包裝。隱含轉(zhuǎn)換一般指包裝,強(qiáng)制轉(zhuǎn)換指開(kāi)箱。Object a=“ABC”packing和string STR=(string)a unpacki
c#中隱式轉(zhuǎn)換和顯示轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)的區(qū)別?
一個(gè)開(kāi)箱,一個(gè)包裝。隱含轉(zhuǎn)換一般指包裝,強(qiáng)制轉(zhuǎn)換指開(kāi)箱。Object a=“ABC”packing和string STR=(string)a unpacking
var a=“2”,B=2控制臺(tái).log(a b)//22控制臺(tái).log(a==b)//真控制臺(tái).log(a*b)//4控制臺(tái).log(a-0 b)//4控制臺(tái).log(a/b)//1控制臺(tái).log(a%b)//如果轉(zhuǎn)換不成功,則Nan*/%具有減號(hào)功能
==具有隱式類型轉(zhuǎn)換功能,將數(shù)字轉(zhuǎn)換為字符串進(jìn)行比較
==沒(méi)有隱式轉(zhuǎn)換功能
~,數(shù)據(jù)類型的轉(zhuǎn)換通常由編譯系統(tǒng)自動(dòng)進(jìn)行,不需要人工干預(yù),因此稱為隱式類型轉(zhuǎn)換。但是,如果程序要求某一類型的數(shù)據(jù)必須轉(zhuǎn)換為另一類型,則可以使用cast運(yùn)算符進(jìn)行轉(zhuǎn)換,這稱為顯式轉(zhuǎn)換。顯示類型轉(zhuǎn)換格式為:(強(qiáng)制類型名)expression,用于強(qiáng)制將“expression”的值轉(zhuǎn)換為“type name”表示的數(shù)據(jù)類型。例如,(int)4.2的結(jié)果是4;cast的目的是更改表達(dá)式值的數(shù)據(jù)類型,以便不同類型的數(shù)據(jù)之間的操作可以繼續(xù)。自動(dòng)類型轉(zhuǎn)換又稱隱式類型轉(zhuǎn)換,是指系統(tǒng)在不編寫代碼的情況下自動(dòng)完成的類型轉(zhuǎn)換。轉(zhuǎn)換規(guī)則是:從存儲(chǔ)范圍小的類型到存儲(chǔ)范圍大的類型。具體規(guī)則是:short(char)→int→long→float→double,即int類型的變量可以自動(dòng)轉(zhuǎn)換為long類型。示例代碼:int b=10long L=b;