解释一下这种类型的演员表?

Jay*_*izl 1 c# casting

我正在学习转换和转换技术,我以为我已经掌握了它,直到我遇到了这个。我知道这是一种将 int 除以小数的方法,但有人可以用简单的术语来分解它的工作原理吗?似乎无法理解这种类型的演员阵容。谢谢

int value1 = 12;
decimal value2 = 6.2m;
float value3 = 4.3f;

int result1 = (int)((decimal) value1 / value2);
Run Code Online (Sandbox Code Playgroud)

输出:

Result1 = 1 
Run Code Online (Sandbox Code Playgroud)

Jam*_*iec 5

让我们从重要的事情开始。Casting value1todecimal已过时,您可以从以下位置获得完全相同的结果:

int result1 = (int)(value1 / value2);
Run Code Online (Sandbox Code Playgroud)

您可以通过执行以下操作查看强制转换的结果int

var result1 = (value1 / value2);
Console.WriteLine(result1.GetType());
Run Code Online (Sandbox Code Playgroud)

结果:System.Decimal

如果您尝试将其直接分配给int

无法将类型“decimal”隐式转换为“int”。存在显式转换(您是否缺少演员表?)

所以,你需要明确地投了decimalint将其分配到result1