2017-07-07 15 views
-2

私はC#を学習していますが、この質問を試みました。下の質問の下で私の2つの試みを見てください、誰かが私にどこで/私が間違って行っている方法を指摘することができますか?ありがとう。c#boolean:最初のブール値がtrueで、2番目の値がfalseの場合はtrueを返します。

試み1:真
戻る最初のブール値が真であり、第二がfalseの場合。

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2) 
{ 
    if (boolean1 = true && (boolean2 = false)) 
    { 
     return true; 
    } 
    return false; 
} 

試み2:

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2) 
{ 
    boolean1 = true; 
    boolean2 = false; 
    return boolean1 && boolean2; 
} 

答えて

1

これは、下記のお試みです。 boolean1がtrueであるかどうかをチェックすると、 'boolean1がtrueに設定されている'ということになります。真であるかどうかをチェックしません。boolean2でも同じです。

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2) 
{ 
    if (boolean1 = true && (boolean2 = false)) 
    { 
     return true; 
    } 
    return false; 
} 

私はあなたのコードを修正しました。これは動作します。

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2) 
{ 
    if (boolean1 == true && boolean2 == false) 
    { 
     return true; 
    } 
    return false; 
} 

if条件では、チェックする値と等しいかどうかを確認するために、 '='だけでなく '='を追加する必要があります。

+0

ありがとう。彼らはどちらも素晴らしい仕事をした。あなたが与えた2番目のコード(私が試したもの)は、もっと自然に私がどのように考えるかです。最初のコードはより効率的ですが、言い換えれば、私はそれの周りに頭を浮かべる必要があります。 "return boolean 1"と言う部分は、これを書いたときに自動的にboolean1がtrueであることをコンピュータに伝えていることを意味していますか?それはどういう仕組みですか? –

+0

C#を習っているとき、私は個人的に最初にやることの長い道のりを学び、頭を丸くするのが最善であると分かりました。効率を上げることができます。 public static bool ReturnTrueAndFalse(bool boolean1、bool boolean2) { return boolean1 &&!boolean2; } これは、 'return boolean1'と言っていますが、真であればインラインチェックをしているので、私たちは見ることができません。そうでない場合は、もう一つの条件を追加してboolean2を返します。したがって '!boolean2'です。これは '!' "真でないならば(var)" =!boolean2 – Kallen

+0

徹底的な説明のために歓声を上げている –

5

単一=、変数。 ダブルを使用する必要があります。

また、いくらか書き換えることができます。

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2) 
{ 
    return boolean1 && !boolean2; 
} 

あなたはあなたがそれを持っているとして、それを維持したいならば、それはこのようになります:

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2) 
{ 
    if (boolean1 == true && boolean2 == false) 
    { 
     return true; 
    } 

    return false; 
    } 
} 
+0

ありがとうございました。彼らはどちらも素晴らしい仕事をした。あなたが与えた2番目のコード(私が試したもの)は、もっと自然に私がどのように考えるかです。最初のコードはより効率的ですが、言い換えれば、私はそれの周りに頭を浮かべる必要があります。 "return boolean 1"と言う部分は、これを書いたときに自動的にboolean1がtrueであることをコンピュータに伝えていることを意味していますか?それはどういう仕組みですか? –

+0

return文は 'true'または' false'になります。 'return boolean1'とboolean1が' true'であれば、戻り値はtrueになります。それで、それは 'true true && false false'を結びます – Tikkes

関連する問題