2012-02-14 121 views
-1

我使用C#並讀取一行文本(ln)並將圖像分配給圖片框。選擇圖像後,我會檢查是否是夜晚或白天,如果太陽已經完成,則嘗試將所選圖像更改爲夜間版本。重新賦值變量

 charPos = ln.IndexOf("partly cloudy", 0); 
     if (charPos > -1) 
     { 
      skyimg = "sct.jpg"; 
      skymsg = "Partly Cloudy"; 
      If (AMPM = "P") skyimg = "nsct.jpg"; 
     } 

編譯器告訴我我錯過了一個分號,只是不喜歡那第二個「if」檢查。 我是否必須使用「else if」,並在每次檢查中包含可能的條件?

回答

5

C#區分大小寫。它應該是if而不是If。而且您還意味着要寫==而不是=進行平等測試。

if (AMPM == "P") skyimg = "nsct.jpg"; 
0

您已大寫If。編譯器認爲If是一個變量標識符(因此是一個表達式),而不是保留關鍵字if,這正是您想要的。要解決您的問題,請將其設爲小寫if

如果我們使用邏輯運行,它試圖用您輸入的內容構建語句,但是您寫的內容不是有效的語法。如果在If後面加上分號,這將是一個正確的表達式(假設If是一個有效的標識符,例如變量名稱)。之後,你會得到一個錯誤,說If沒有定義。