You can only use a single = sign if there is an object that returns a Boolean value can't you?
No. Boolean means 0 or 1, it actually looks whether the value is 0, if it is, it returns false, otherwise true*. The caveat of this is that it accepts lots of values as true, and only 0 as false. So '0 or 1' is actually incorrect.. from a technical standpoint, logic wise, it holds up ('unset' or 'set').
Also, you can simply use a boolean operator on the returned value, the returned value will be stored and then checked against the boolean operator (make sure to use brackets around the value assignment, or it'll do the boolean operation first.. which is also a perfectly legit use).
If visual studio whines about an assignment in an if, I'll never touch visual studio again. It is perfectly valid coding.. can make reading certain complex control structures readable too.
* when testing this, you can't test it like this:
if(100 == true)
Because, 100 doesn't equate to the 1 that the true constant has been defined as, instead you should test it like this:
if(100)
This one will pass the check, and execute the body of the if, if a value of 0 is used in the if statement, it won't execute the body.