2015-06-29 70 views
-6

我想將一個浮點變量與字典鍵的值進行比較。但我得到的錯誤說它不能從float轉換爲bool。字典的值是一個無符號整數,我將其作爲一個浮點數來投射。不能隱式地將類型float轉換爲bool奇怪的錯誤

void RunAnimation() 
    { 
     float aloop = (float)AnimationLoop[CurrentAnimation]; 

     if(frame%aloop) 
     { 

     } 
    } 

這樣做會導致對if語句說:「無法隱式轉換類型‘浮動’到‘布爾’」的錯誤。但是,這兩個價值顯然都是浮動的,我不明白它是如何出來的。

+2

你期望'if(frame%aloop)'做什麼?問題在於這條線。 –

+0

哇我剛剛計算出我重新加載頁面的那一刻。我忘了添加==值。對於愚蠢的問題抱歉。 –

回答

3

您可以在C/C++中執行此操作,但不能在C#中執行此操作。你需要這樣寫:

if ((frame % aloop) != 0) 

在C/C++一個bool實際上只是一個數值,要麼0(假)或其他一些值(true)。在你的情況下,frame % aloop將是C/C++中的「有效bool」。

另一方面,C#確實需要bool表達式,但frame % aloop的計算結果爲數值類型。因此錯誤。

+0

是的,我習慣於這樣工作,並且發現當聲明總是成立時我忘記了一些東西。 –

相關問題