我正在学习转换和转换技术,我以为我已经掌握了它,直到我遇到了这个。我知道这是一种将 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)
让我们从重要的事情开始。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”。存在显式转换(您是否缺少演员表?)
所以,你需要明确地投了decimal以int将其分配到result1