位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

C# 变量更多的内容 隐式转换

提问人:刘团圆发布时间:2020-11-12

隐式转换不需要做任何工作,也不需要另外编写代码。考虑下面的代码:

varl = var2;

如果var2的类型可以隐式地转换为varl的类型,这条赋值语句就涉及隐式转换。这两个变量的类型也可 能相同,此时就不需要隐式转换。例如,ushort和char的值是可以互换的,因为它们都可以存储0和65 535 之间的数字,在这两种类型之间可以进行隐式转换,如下面的代码所示:

ushort destinationVar; char sourceVar =;

destinationVar = sourceVar;

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

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

这里存储在sourceVar中的值放在destinationVar中。在用两个WriteLineO命令输出变量时,得到如下结果:

sourceVar val: a destinationVar val: 97

即使两个变量存储的信息相同,使用不同的类型解释它们时,方式也是不同的。

简单类型有许多隐式转换,bool和string没有隐式转换,但数值类型有一些隐式转换。下表列出了编译 器可以隐式执行的数值转换(记住,char存储的是数值,所以char被当作数值类型)。


类 型

可以安全地转换为

byte

shortushortintuintlongulongfloatdoubledecimal

sbyte

shortintlongfloat doubledecimal

short

intlongfloatdoubledecimal

ushort

intuintlongulongfloatdoubledecimal

int

longfloatdoubledecimal

uint

longulongfloatdoubledecimal

long

floatdoubledecimal

ulong

floatdoubledecimal

float

double

char

ushortintuintlongulongfloatdoubledecimal


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部