为什么根据 ReSharper 将双倍转换为整数转换分配给动态变量是多余的



>我有一个动态viewbag变量的赋值,它必须是一个整数(是的,整数,没有小数部分,这破坏了我正在使用的库):

ViewBag.Autosubmit = (int)(SomeDate.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);

TimeSpan.TotalSeconds返回一个double,为了使用它,我将其转换为int。但ReSharper表示,向int选角是多余的。如果我不投射,数字将保持为双精度,我的页面无法正常工作。

为什么ReSharper告诉我演员阵容是多余的?

我认为

这是因为就 c# 而言,强制转换是多余的......你正在转换它,但然后将其放入一个动态中,它不在乎它是 int 还是双精度。

如果你明确地把它投射到一个国际上,就像Lasse V. Karlsen提到的那样。

int autoSubmit = (int)(SomeDate.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
ViewBag.Autosubmit = autoSubmit;

我相信这个信息会消失。

相关内容

最新更新