myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE7
   » Gadget für Vista
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin
» Accessoires

Ressourcen
» .NET-Glossar
» guide to C#
» openbook: Visual C#
» openbook: OO
» .NET BlogBook
» MSDN Webcasts
» dotnetjob.de
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Bankverbindung
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Knowledge Base » FAQ » [Tipp] Anfängerfehler == true / == false
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

[Tipp] Anfängerfehler == true / == false

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
herbivore
myCSharp.de-Team (Admin)

images/avatars/avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 47.474
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

[Tipp] Anfängerfehler == true / == false

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
12.04.2006 11:46 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 7 Jahre.
Der letzte Beitrag ist älter als 7 Jahre.
Antwort erstellen


© Copyright 2003-2013 myCSharp.de-Team. Alle Rechte vorbehalten. 18.05.2013 17:47