Was bedeutet das "&=" in diesem C# code?

Stieß ich auf einige code, der wie folgt aussieht:

string someString;

...

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

Warum sollte ich den bitweisen operator anstelle von "="?

  • Ich denke, dass der code ziemlich hässlich. Es ist kürzer, aber es kommt mir ein bisschen missbräuchliche Verwendung einer bitweisen und-wenn Sie wirklich meinen, ein logisches und. Beachten Sie auch, dass logische und unterstützt kurzschließen und so vermeidet den Bedarf zu berechnen someString.ToUpperInvariant().Equals("blah"); wenn someBoolean ist true.
  • Es ist nicht eine bitweise operator bei Anwendung auf Boolesche Werte.
  • Ja, du hast Recht. MSDN ist eigentlich festgelegt, dass explizit. Ich würde davon ausgehen das standard-als auch nicht.
  • Was bedeutet es, zu sagen "es ist nicht die bitweisen operator bei Anwendung auf Boolesche Werte?" Ist das nicht ein boolean nur 1 bit-Anzahl? Das ist, gibt es keine funktionalen Unterschiede zwischen einem 1-bit bitweise operation und eine logische Boolesche operation?
Schreibe einen Kommentar