使用';%时出错';

本文关键字:出错 使用 | 更新日期: 2023-09-27 18:29:50

我正在尝试将以下JavaScript中的语句转换为C#,但在某一点上,我得到了以下错误"无法将类型'float'隐式转换为'bool'"。有人能指出我做错了什么吗。谢谢

//x offset for odd or even rows
If((row + rowoffset) % 2) {
    Debug.log(row+rowoffset);
}

使用';%时出错';

在C#中,if语句要求条件为true或false,即1或0。您正在使用的代码完全能够生成浮点值。

更改你的代码如下,这取决于你的代码到底做了什么,但你可以这样做只是为了检查并做出适当的更改

If((row + rowoffset) % 2 == 0){
Debug.log(row+rowoffset);
}

在Javascript中,零等于false,但在C#中不等于:

你应该写这样的东西:

if((row + rowoffset) % 2 == 1){
    Debug.log(row+rowoffset);
}

对浮点值执行模函数将产生浮点值,而不是布尔值。我相信这会做你想要的:

if((row + rowoffset) % 2 != 0){ Debug.log(row+rowoffset); }