我試圖將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。 –