位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# 變量更多的內(nèi)容 隱式轉(zhuǎn)換

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-12

隱式轉(zhuǎn)換不需要做任何工作,也不需要另外編寫代碼??紤]下面的代碼:

varl = var2;

如果var2的類型可以隱式地轉(zhuǎn)換為varl的類型,這條賦值語(yǔ)句就涉及隱式轉(zhuǎn)換。這兩個(gè)變量的類型也可 能相同,此時(shí)就不需要隱式轉(zhuǎn)換。例如,ushort和char的值是可以互換的,因?yàn)樗鼈兌伎梢源鎯?chǔ)0和65 535 之間的數(shù)字,在這兩種類型之間可以進(jìn)行隱式轉(zhuǎn)換,如下面的代碼所示:

ushort destinationVar; char sourceVar =;

destinationVar = sourceVar;

WriteLine($HsourceVar val: (sourceVar)M);

WriteLine($"destinationVar val: (destinationVar)M);

這里存儲(chǔ)在sourceVar中的值放在destinationVar中。在用兩個(gè)WriteLineO命令輸出變量時(shí),得到如下結(jié)果:

sourceVar val: a destinationVar val: 97

即使兩個(gè)變量存儲(chǔ)的信息相同,使用不同的類型解釋它們時(shí),方式也是不同的。

簡(jiǎn)單類型有許多隱式轉(zhuǎn)換,bool和string沒有隱式轉(zhuǎn)換,但數(shù)值類型有一些隱式轉(zhuǎn)換。下表列出了編譯 器可以隱式執(zhí)行的數(shù)值轉(zhuǎn)換(記住,char存儲(chǔ)的是數(shù)值,所以char被當(dāng)作數(shù)值類型)。


類 型

可以安全地轉(zhuǎn)換為

byte

shortushortintuintlongulongfloatdoubledecimal

sbyte

shortintlongfloat doubledecimal

short

intlong,floatdoubledecimal

ushort

intuintlongulong,float,double,decimal

int

longfloat,double,decimal

uint

longulongfloatdoubledecimal

long

floatdoubledecimal

ulong

floatdouble,decimal

float

double

char

ushortintuintlongulongfloatdoubledecimal


繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部