myCSharp.de - DIE C# und .NET Community (http://www.mycsharp.de/wbb2/index.php)
- Knowledge Base (http://www.mycsharp.de/wbb2/board.php?boardid=68)
-- FAQ (http://www.mycsharp.de/wbb2/board.php?boardid=70)
--- [Tipp] Anfängerfehler == true / == false (http://www.mycsharp.de/wbb2/thread.php?threadid=17536)


Geschrieben von herbivore am 12.04.2006 um 11:46:
  [Tipp] Anfängerfehler == true / == false
Hallo Community,

warum sollte man == true immer weglassen und == false durch ! (not) ersetzen?

== true ist eine Tautologie oder volkstümlicher ein weißer Schimmel. Schimmel sind immer weiß. Es ist genauso überflüssig und sinnlos == true zu verwenden, wie bei jeder Verwendung von Integer-Variablen ein + 0 anzuhängen.

Wer == true benutzt, hat m.E. noch nicht vollständig verstanden, was eine boolsche Variable ist. Mit dieser direkte Aussage will ich niemanden kränken, sondern meine das rein sachlich.

Interessanterweise kommt ja niemand auf die Idee zu schreiben

C#-Code:
if (i == 5 == true) [

obwohl das funktioniert und nicht qualitativ anders ist als bei

C#-Code:
bool fBedingung;
// ...
if (fBedingung == true) {

fBedingung == false kann und sollte man durch die Negation !fBedingung ersetzen.

Das bisher Gesagte gilt analog für die umgekehrte Richtung. Code wie

C#-Code:
bool fUeberlauf;
if (a > 1000) {
   fUeberlauf = true;
} else {
   fUeberlauf = false;
}

sollte man vermeiden und durch

C#-Code:
fUeberlauf = a > 1000;

ersetzen.

herbivore

PS: Von alledem abgesehen handelt man sich durch == true / == false auch noch eine unnötige Fehlerquelle ein, nämlich wenn man versehentlich = true / = false schreibt.


© Copyright 2003-2013 myCSharp.de-Team. Alle Rechte vorbehalten. 22.05.2013 09:27