Entwickler-Ecke
C# - Die Sprache - Mehrere Bedingungen in if-Abfrage
MetaPhy - Sa 03.03.07 21:55
Titel: Mehrere Bedingungen in if-Abfrage
Hallo zusammen,
ich möchte verschiedene int-Variablen in einer if-Abfrage vergleichen (auf Gleichheit bzw. Ungleichheit). So kriege ich es schonmal hin:
Nun will ich aber in ein und derselben if-Abfrage mehrere solche Gleichungen stehen haben, etwa so von der Idee her:
C#-Quelltext
1: 2: 3:
| if (a==b) and (a==d) and (u==v) and ... { } |
Die Konjunktion and (oder auch or) scheint es leider nicht zu geben (verwende ich gerne in der Programmierungen von Taschenrechnerprogrammen), wie macht mans stattdessen?
Gruß
Hüseyin
Christian S. - Sa 03.03.07 21:59
Titel: Re: Mehrere Bedingungen in if-Abfrage
MetaPhy hat folgendes geschrieben: |
Die Konjunktion and (oder auch or) scheint es leider nicht zu geben |
Doch, gibt es natürlich. Wäre 'ne tolle Sprache, wenn's das nicht gäbe *g*
C#-Quelltext
1: 2: 3:
| if (a==b && a==d && u==v) { } |
Für "oder" benutzt man "||".
Wie Du oben siehst, musst Du in C# die einzelnen Teile (
a==b) nicht in Klammern setzen. Das liegt daran, dass "&&" nur bool'scher Operator ist und nicht wie bei Delphi auch noch das binäre "und" darstellt. Somit ist klar, wie der Ausdruck auszuwerten ist auch ohne die Klammern. Nur die Klammern außen drum sind natürlich Pflicht.
MetaPhy - Sa 03.03.07 22:14
Danke dir!
Kha - So 04.03.07 14:00
Titel: Re: Mehrere Bedingungen in if-Abfrage
Christian S. hat folgendes geschrieben: |
Das liegt daran, dass "&&" nur bool'scher Operator ist und nicht wie bei Delphi auch noch das binäre "und" darstellt. Somit ist klar, wie der Ausdruck auszuwerten ist auch ohne die Klammern. Nur die Klammern außen drum sind natürlich Pflicht. |
Nicht ganz,
C#-Quelltext
1:
| if (a == b & a == d & u == v) |
funktioniert genauso ;) . Es stimmt aber, dass sich die Operatorrangfolge von C# und Delphi unterscheidet, zumindest in diesem Fall zum Vorteil.
Christian S. - So 04.03.07 14:01
//edit: Streich das Nachfolgende ;-)
Das ändert aber nichts an meiner Aussage. Auch in diesem Fall ist dadurch, dass "&" nur das binäre "und" ist, klar, wie das ausgewertet werden soll.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!