小编Gil*_*son的帖子

为什么 C# 不能将包含装箱 int 的对象转换为 double?

在 C# 中,示例 1 为何有效:

int myValue1 = 11;
double resultDirectlyFromInt = myValue1;
Run Code Online (Sandbox Code Playgroud)

但示例 2 没有:

int myValue2 = 22;
object myObject2 = myValue2;
double resultFromBoxedInt = (double)myObject2;
Run Code Online (Sandbox Code Playgroud)

示例 3 再次起作用:

double myValue3 = 33.3;
object myObject3 = myValue3;
double resultFromBoxedDouble = (double)myObject3;
Run Code Online (Sandbox Code Playgroud)

有人可以解释其背后的理由吗?因为对我来说,工作示例 1 和 3 看起来像是示例 2 应该有效的证明。

c# double boxing integer casting

0
推荐指数
1
解决办法
232
查看次数

标签 统计

boxing ×1

c# ×1

casting ×1

double ×1

integer ×1