gpt4 book ai didi

c# - 为什么这种类型转换会导致错误?

转载 作者:太空狗 更新时间:2023-10-29 21:29:45 24 4
gpt4 key购买 nike

这按预期工作:

byte b = 7;
var i = (int)b;

虽然这会抛出一个 InvalidCastException:

byte b = 7;
object o = b;
var i = (int)o;

当基础类型仍然是 byte 时,为什么从 object 转换失败?

最佳答案

因为byte有一个显式转换为int,但是object没有。

如果您告诉编译器对象真的一个字节,那么它会再次允许您显式转换为整数

byte b = 7;
object o = b;
var i = (int)((byte)o);

引用资料:

Casting and Type Conversions
byte

关于c# - 为什么这种类型转换会导致错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7930815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com