我试图将JavaScript中的以下语句转换为C#, 但是在某一时刻,我收到以下错误“无法将类型'float'隐式转换为'bool'”。 任何人都可以指出我做错了什么。 谢谢。使用'%'时出现错误
//x offset for odd or even rows
If((row + rowoffset) % 2) {
Debug.log(row+rowoffset);
}
我试图将JavaScript中的以下语句转换为C#, 但是在某一时刻,我收到以下错误“无法将类型'float'隐式转换为'bool'”。 任何人都可以指出我做错了什么。 谢谢。使用'%'时出现错误
//x offset for odd or even rows
If((row + rowoffset) % 2) {
Debug.log(row+rowoffset);
}
在C#中的if语句,需要你的条件为真或假的为1或0您正在使用的代码是完全能够产生浮动。
更改代码类似下面,这取决于究竟你的代码做什么,但你可以做到这一点,只是检查并进行更改适当
If((row + rowoffset) % 2 == 0){
Debug.log(row+rowoffset);
}
感谢它现在的工作。 – user3121949
@ user3121949不客气:) – Umamaheswaran
在Javascript中,零等于假,但不是在C#:
你应该写这样的事情:
if((row + rowoffset) % 2 == 1){
Debug.log(row+rowoffset);
}
上的浮点值进行取模函数将导致浮点值,而不是布尔值。我相信这会做你想要什么:
if((row + rowoffset) % 2 != 0){ Debug.log(row+rowoffset); }
所选答案实际上反转了测试的逻辑,给出的结果与原始代码不同。其他两个答案中给出的检查应该是!= 0或== 1。 –
你能后的javascript代码吗? – Thomas
模数运算符返回余数,它不是真或假。 if语句中需要true或false。 –