2012-10-12 86 views
6

Possible Duplicate:
Help converting type - cannot implicitly convert type ‘string’ to ‘bool’不能類型「詮釋」隱式轉換爲「布爾」

我很新的語言ň我不是一個優秀的程序員。此代碼給我錯誤:

cannot implicitly convert type int to bool.

我不知道我在做什麼錯。 有些人可以告訴我我做錯了什麼。任何幫助,將不勝感激ñ任何recomendation也將有所幫助。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

    namespace ConsoleApplication2 
    { 
    class mysteryVal 
    { 
    public const int limitOfGuess = 5; 

    // Data member 
    public int mystVal; 
     private int numOfGuess ; 
     private randomNumberMagnifier mag = new randomNumberMagnifier(); 

     public int randomMag(int num) 
    { 
     return num + mystVal; 
     } 

    // Instance Constructor 
    public mysteryVal() 
    { 
     mystVal = 0; 
     numOfGuess = 0; 
      } 

      public void game(int user) 
      { 
       int userInput = user; 
       if (numOfGuess < limitOfGuess) 
        { 
        numOfGuess++; 
       if (userInput = mag.randomMagnifier()) 
        { 
       } 
       } 

      } 


      } 
       } 
+0

不同的類型,但相同的想法。注意*錯誤在哪裏 - 它會直接引導你解決問題。 – 2012-10-12 03:03:04

+0

您在哪裏聲明瞭limitOfGuess的變量? – Nich

+0

我把它聲明爲一個const。在類聲明之後。 – user1730332

回答

9

if (userInput = mag.randomMagnifier()) 

應該

if (userInput == mag.randomMagnifier()) 
11

糾正這一點,

if (userInput = mag.randomMagnifier()) 

到:

if (userInput == mag.randomMagnifier()) 

在這裏,您正在分配if語句中的值,這是錯誤的。你必須檢查條件,檢查條件你必須使用"=="
if語句返回布爾值,並且因爲您在此處分配值,所以會給出錯誤。

3

你應該使用==而不是=變化: Lif(userinput = mag.randommagnifier())

if(userinput == mag.randommagnifier()) 
3

if語句總是包含計算結果爲布爾值的表達式。您的線路

if (userInput = mag.randomMagnifier()) 

不是bool這是什麼導致錯誤。你可能意味着

if (userInput == mag.randomMagnifier()) 
3

條件

userInput = mag.randomMagnifier() 

需求是

userInput == mag.randomMagnifier() 

什麼你試圖分配userInput值,然後它會嘗試轉換INT爲bool。用C#這是不可能的。

相關問題