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

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

提問人:劉團圓發(fā)布時間:2020-11-12

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

varl = var2;

如果var2的類型可以隱式地轉(zhuǎn)換為varl的類型,這條賦值語句就涉及隱式轉(zhuǎn)換。這兩個變量的類型也可 能相同,此時就不需要隱式轉(zhuǎn)換。例如,ushort和char的值是可以互換的,因為它們都可以存儲0和65 535 之間的數(shù)字,在這兩種類型之間可以進行隱式轉(zhuǎn)換,如下面的代碼所示:

ushort destinationVar; char sourceVar =;

destinationVar = sourceVar;

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

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

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

sourceVar val: a destinationVar val: 97

即使兩個變量存儲的信息相同,使用不同的類型解釋它們時,方式也是不同的。

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


類 型

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

byte

shortushortintuintlongulongfloatdouble,decimal

sbyte

shortintlongfloat doubledecimal

short

intlong,floatdoubledecimal

ushort

intuintlongulong,float,double,decimal

int

long,float,double,decimal

uint

longulongfloatdoubledecimal

long

floatdouble,decimal

ulong

floatdouble,decimal

float

double

char

ushortintuintlongulongfloatdoubledecimal


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

相關視頻回答
回復(0)
返回頂部