C# 如果这三个条件都为真

C# 如果这三个条件都为真,c#,if-statement,unity3d,operators,C#,If Statement,Unity3d,Operators,我有一个带有3个条件的if语句: if (firstbool == false & Input.GetKeyDown ("space") & secondbool == false) { doSomething(); } 我希望这个程序只有在三个条件都成立的情况下才能运行。但是我不知道应该使用哪个操作符。你的意思是这样做: if (firstbool == false && Input.GetKeyDown ("space") &

我有一个带有3个条件的if语句:

if (firstbool == false & Input.GetKeyDown ("space") & secondbool == false) {
        doSomething();
    }

我希望这个程序只有在三个条件都成立的情况下才能运行。但是我不知道应该使用哪个操作符。

你的意思是这样做:

if (firstbool == false && Input.GetKeyDown ("space") && secondbool == false)

使用&&运算符。

进一步理解Devin Liu的答案,您不需要指定firstbool==false的完整语法。 如果您只是简单地声明bool变量名,那么您就是在说它是真的,或者使用!运算符声明相反的情况,即它实际上是错误的

//for all true
if(firstbool && Input.GetKeyDown ("space") && secondbool)

//or for false bools
if(!firstbool && !Input.GetKeyDown ("space") && !secondbool)
但是请注意,当玩家没有按空格键时,错误的输入会反复执行,这可能不是你想要的


希望对您有所帮助

&&请使用
,而不是&!firstBool
而不是
firstBool==false
if(firstBool&&Input.GetKeyDown(“space”)&&secondbool)
@Programmer-你是说
if(!firstBool&&Input.GetKeyDown(“space”)&!secondbool)
?他可能是想让bool的状态为false为true。为什么会有两次否决票?它告诉op他们想知道的,一个坏问题的答案当然,但一个坏答案…因为它回答了这个问题,所以投了赞成票。出于某种原因,它被否决了???@SchwiftyMcSchwifulface我认为否决票是因为这个问题确实是OP应该知道或学到的基本知识。另外,这个回答是在大约30分钟后做出的。这个问题已经在评论部分得到了回答。那些在评论部分帮忙的人并不愚蠢。甚至Bigglesworth的回答也在评论部分讨论过。这只是基本的回答。这是我的猜测。