我在互联网上看到了以下代码.任何人都可以向我解释它的作用吗?如果我的标题错了,如果我得到正确答案,我会改变它:
public static void Calculate(float amount)
{
object amountRef = amount;
int balance = (int)(float)amountRef;
Console.WriteLine(balance);
};
Run Code Online (Sandbox Code Playgroud)
究竟(int)(float)做了什么?很难在互联网上找到解释.
这是关于拳击和拆箱.
如果您保存float在object(正在装箱)中,则需要先将其与原始类型一起取消.比你的程序把它投入int.
这就是你不能说的原因;
object amountRef = amount;
int balance = (int)amountRef;
Run Code Online (Sandbox Code Playgroud)
你会得到;
指定演员表无效.错误:取消装箱不正确