Bedingter Operator

Autor: Lewis Jackson
Erstelldatum: 8 Kann 2021
Aktualisierungsdatum: 24 Juni 2024
Anonim
Lektion 14 Bedingter Operator und Schleifensteuerung
Video: Lektion 14 Bedingter Operator und Schleifensteuerung

Inhalt

Definition - Was bedeutet Bedingter Operator?

Ein Bedingungsoperator in C # ist ein Operator, der drei Operanden (zu überprüfende Bedingungen) akzeptiert, den Wert, wenn die Bedingung wahr ist, und den Wert, wenn die Bedingung falsch ist.

Ein Bedingungsoperator wird durch das Symbol?: Dargestellt. Der erste Operand (angegeben vor dem? :) ist der auswertende (bedingte) Ausdruck. Es muss so sein, dass der Typ des ausgewerteten Ausdrucks implizit in bool konvertiert werden kann oder dass der Operator true implementiert wird, um Kompilierungsfehler zu vermeiden. Der zweite und dritte Operand steuern den Typ des bedingten Ausdrucks. Es wird häufiger in Zuweisungen und nicht als Anweisung verwendet, die zu Übersetzungsfehlern führt.

Wenn der Rückgabewert des ersten Operanden (Bedingungsausdruck) wahr ist, wird der zweite Operand ausgewertet. Ansonsten wird der dritte Operand ausgewertet. Daher ist das Ergebnis des bedingten Operators das Ergebnis der Auswertung des Ausdrucks, der zur Auswertung herangezogen wird.

Für einen Ausdruck, der als x? A: b angegeben ist, wird der Operand a ausgewertet, wenn nur der Operand x (der bedingte Ausdruck) true zurückgibt. Andernfalls wird der Operand b ausgewertet.

Dieser Begriff wird auch als ternärer Operator oder inline if (iif) bezeichnet.


Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt den bedingten Operator

Ein bedingter Operator ist der einzige ternäre Operator (mit drei Operanden) in C #. Es bildet eine Alternative zum if-else-Konstrukt, das eine bessere Übersichtlichkeit mit weniger Code und besserer Lesbarkeit bietet. Während der Kompilierung übersetzt der C # -Compiler den ternären Ausdruck in Verzweigungsanweisungen, die mehrere if-Anweisungen verdichten und die Verschachtelung auf der Ebene des Quellcodes reduzieren können. Manchmal kann der für einen ternären Operator generierte Code die Leistung steigern, indem einige der Anweisungen neu angeordnet werden.

Eigenschaften eines bedingten Operators sind:


  • Es ist rechtsassoziativ, was bedeutet, dass Operationen von rechts nach links gruppiert sind.
  • Es wird immer einer der beiden Ausdrücke ausgewertet, die nach dem Bedingungsoperatorsymbol angegeben sind. Beides wird nie bewertet.
  • Der erste Operand muss vom Typ Integral oder Zeiger sein.
  • Der zweite und der dritte Operand müssen ineinander konvertierbar sein und dürfen nicht in einen anderen Typ konvertierbar sein.
  • Der Ergebnistyp ist der gebräuchliche Typ, der ein l-Wert ist, jedoch nur, wenn sowohl der zweite als auch der dritte Operand vom gleichen Typ sind und beide l-Werte sind.
  • Nur Zuweisungsaufruf, Inkrement, Dekrement und neuer Objektausdruck können als Anweisung verwendet werden.
  • Wenn das Ergebnis einer Auswertung eines Ausdrucks mithilfe eines ternären Operators in einer Methode return-Anweisung verwendet wird, sollte der Typ mit dem Rückgabetyp der einschließenden Methode übereinstimmen, damit die Kompilierung erfolgreich ist.
  • Wenn das Ergebnis keine Konstante ist, basiert der Typ des bedingten Ausdrucks auf dem allgemeineren der beiden Typen.
Diese Definition wurde in der con von C # geschrieben