Math.Truncate(十进制)只有赋值,调用,递增,递减等错误

时间:2014-05-31 18:37:35

标签: c# vb.net

我正在尝试将.vb文件转换为C#,虽然我大部分都成功了,但我遇到了一个错误,我不确定如何修复。尝试使用以下代码行时:

    w = (Math.Truncate((decimal p % sourceImage.bmpData.Stride) / 4));

我收到一条错误消息,指出"只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句"

我已经搜索了这个问题的解决方案,但到目前为止还没有成功。任何人都可以帮我理解我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:1)

您不希望在代码中定义变量decimal p内部的内容,因此以下内容将进行编译,但可能对您不起作用:

w = (Math.Truncate((p % sourceImage.bmpData.Stride) / 4));

可能您正在寻找使用(float) / (decimal)转换为非整数类型的内容,如下所示:

w = (Math.Truncate(((float)p % sourceImage.bmpData.Stride) / 4));

有关错误检查MSDN的详细信息 - CS0201