2017-02-24 40 views
-1

所以我試圖做一個程序,用戶被要求爲他們的選擇編寫一個數字。我已經聲明瞭我想要存儲他們的選擇的變量,但是我遇到了問題,因爲它表示變量沒有在程序中的任何地方使用。以下是幫助您理解的一些代碼。爲什麼這個變量不被識別? C#做 - 雖然問題

public class Rooms 
{ 
    public void roomNumber() 
    { 
     int userChoice;// The problem is here, c# is saying : 
     //Field Rooms.userChoice is never assigned to and will always have its default value 0 
     do 
     { 
      Console.WriteLine("What Type of Room ? "); 
      Console.WriteLine("Press 1 - Kitchen"); 
      Console.WriteLine("Press 2 - Living"); 
      Console.WriteLine("Press 3 - Bathroom"); 
      Console.WriteLine("Press 4 - Bedroom"); 
      Console.WriteLine("Press 5 If There Are No More Rooms To Add."); 
      userChoice = Convert.ToInt32(Console.ReadLine()); 

      if(userChoice != 5) 
      { 
       Console.WriteLine("Is it Furnished/Finished ?"); 
       Console.WriteLine("1 - Furnished"); 
       Console.WriteLine("2 - Finished"); 
       int status = Convert.ToInt32(Console.ReadLine()); 

      } 
     } while (userChoice != 5); 
+1

可能是短暫的無效警告。關閉visual studio,刪除項目下的obj/bin文件夾,重新打開visual studio。如果它仍然存在,請忽略它,或者關閉BS導致它的任何代碼分析。 – Will

+3

您確定這確實是產生該警告的代碼嗎?只有在重新聲明userChoice內部方法隱藏外部全局聲明 – Steve

+3

顯示更多代碼時,才應該收到該消息。 – abelenky

回答

0

無效的警告時有發生,而你幾乎可以忽略他們,如果你知道他們是不正確的。

在這種情況下(當前代碼不會出現可能在過去的代碼中出現的問題),它可能是由於以前創建的工件在內存或磁盤上出於某種原因而滯留(看起來很多魔法捲入這個東西,我不會說謊)。

這些情況下的最佳解決方案是關閉VS,刪除解決方案中的所有bin和obj文件夾,重新啓動VS,然後執行乾淨的構建。

+0

(自從OP在我對這個問題的評論中提出我的建議之後添加了一個答案) – Will

1

這不是你的完整代碼。警告指出字段與您在問題中標記的本地變量同名,我認爲。重命名或刪除字段(類成員)或本地變量,併爲此使用其中的一個。

可以使用一種命名約定像避免這樣的錯誤:與_(即克_my_field

  • p
  • 前綴方法參數

    • 前綴成員寫局部變量通常,例如G。在駱駝
  • 相關問題