<分区>
Possible Duplicate:
Why can't I unbox an int as a decimal?
好的,C#/.NET 专家,有人能告诉我为什么这个转换有效吗:
static void Main(string[] args)
{
int _int = 0;
decimal _decimal = 1;
_int = (int)_decimal;
Console.ReadLine();
}
...但是这些都没有?
static void Main(string[] args)
{
int _int = 0;
decimal d = 1;
object _decimal = d;
_int = (int)_decimal;
Console.ReadLine();
}
static void Main(string[] args)
{
int _int = 0;
object _decimal = 1M;
_int = (int)_decimal;
Console.ReadLine();
}
我可以将 decimal 转换为 int,只要我转换的是显式声明的 decimal 类型,但是当 decimal 存储在对象类型中时,我不能将 decimal 转换为 int 吗?这是怎么回事?
注意:我知道我可能可以使用 Convert.ToInt32(),但我想弄清楚这个在这里不起作用。