What does the “&=” in this C# code do?

It’s not a bitwise operator when it’s applied to boolean operators.

It’s the same as:

someBoolean = someBoolean & someString.ToUpperInvariant().Equals("blah");

You usually see the short-cut and operator &&, but the operator & is also an and operator when applied to booleans, only it doesn’t do the short-cut bit.

You can use the && operator instead (but there is no &&= operator) to possibly save on some calculations. If the someBoolean contains false, the second operand will not be evaluated:

someBoolean = someBoolean && someString.ToUpperInvariant().Equals("blah");

In your special case, the variable is set to true on the line before, so the and operation is completely unneccesary. You can just evaluate the expression and assign to the variable. Also, instead of converting the string and then comparing, you should use a comparison that handles the way you want it compared:

bool someBoolean =
  "blah".Equals(someString, StringComparison.InvariantCultureIgnoreCase);

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)