Auswertungsanweisungen in C♯
Beispiel
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine( global::System.IO.Directory.CreateDirectory( "orkten" )); }}global::System.Console.Out
orkten
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine( "", global::System.IO.Directory.CreateDirectory( "orkten1" )); }}Protokoll
Program.cs
public static class Program
{ public static void Main()
{ global::System.IO.Directory.CreateDirectory( "orkten2" ); }}global::System.Console.Out
- (keine Ausgabe)
Erklärung
Wir haben zuerst die Funktion »CreateDirectory« aufgerufen, die als Ergebnis wieder den Argumentwert »orkten« lieferte. Die Auswertung ihres Aufrufs hatte allerdings auch eine Wirkung, nämlich das Anlegen eines Verzeichnisses mit dem Namen »orkten«. Solche Wirkungen der Auswertung von Aufrufen einer Methode sind in der Regel in der Dokumentation der Methode auch beschrieben, so daß man sie sich zunutze machen kann. Das Wort Wirkung bedeutet hier das, was es auch normalerweise im Deutschen bedeutet.
Wenn man nur die Wirkung erzielen will, ohne den Wert zu sehen, kann man einen auszuwertenden Ausdruck direkt vor ein Semikolon schreiben. Dies ergibt dann eine Anweisung, die Auswertungsanweisung, bei deren Ausführung der Ausdruck vor dem Semikolon ausgewertet wird.
Solch eine Auswertungsanweisung kann überall in das Programm geschrieben werden, wo auch eine Ausgabeanweisung erlaubt wäre.
Ausgabeanweisungen und Auswertungsanweisungen sind beides Anweisungen.
Wir können nun sogar sagen, daß die bisherigen Ausgabeanweisungen tatsächlich ebenfalls Auswertungsanweisungen sind, denn sie werten einen Ausdruck wie »global::System.Console.WriteLine( 1 )« aus, um etwas auszugeben. Deswegen werden wir von nun an tatsächlich nur noch von Auswertungsanweisungen sprechen.
Wert und Wirkung einer Auswertung zusammen werden als das Verhalten der Auswertung bezeichnet.
Als Ausdrücke in einer Auswertungsanweisung sind Aufrufe erlaubt, die meisten anderen Arten von Ausdrücken allerdings nicht.
Übung
Geben Sie zu den folgenden Texten jeweils an, ob sie ein Ausdruck, eine Ausgabeanweisung oder eine Auswertungsanweisung sind.
- »System.IO.Directory.CreateDirectory( "orkten" );«
- »System.IO.Directory.CreateDirectory( "orkten" )«
- »global::System.Console.WriteLine( "orkten" );«
? Satz
Ergänzen Sie den folgenden Satz durch das Einsetzen einer Form eines Verbes.
- Satz
- Bei der Ausführung der Auswertungsanweisung wird ihr Ausdruck __________.