【发布时间】:2019-12-11 05:44:18
【问题描述】:
我正在尝试执行以下操作
int num = 20;
object number = num;
int result = (int)num;
它对我大喊“无效的演员表”,因为根据编译器的说法:
无法将“System.Int64”类型的对象转换为“System.Int32”类型
你能解释一下为什么我的 Int32 变成了 Int64 吗?
【问题讨论】:
-
无法复制。你的代码就像一个魅力
-
dotnetfiddle ← 代码运行良好。
-
我怀疑您发布的代码与实际问题略有不同。您是否正在尝试将
long转换为object,然后再转换为int? -
@itsme86:你为什么感到惊讶?变量
number从未使用过,num仍然是20。 @OP:显示真实代码
标签: c# oop types .net-core casting