Wirkausdrücke in C# [] (Wirkausdrücke in C#), Lektion, Seite 722565
https://www.purl.org/stefan_ram/pub/wirkausdruckrahmen_csharp (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
C#-Kurs

Meß- und Wirkausdrücke in C♯ 

Beispiel

Program.cs

public static class Program
{ public static void Main()
{

global::System.Console.WriteLine( global::System.Environment.GetEnvironmentVariable( "orkten" ));
global::System.Environment.SetEnvironmentVariable( "orkten", "echo" );
global::System.Console.WriteLine( global::System.Environment.GetEnvironmentVariable( "orkten" ));

}}

global::System.Console.Out
(Leerzeile)
echo

Erklärung

Operationen

Unter einer Operation verstehen wir eine Inkarnation, also eine Methode zusammen mit konkreten Argumentwerten für alle ihre Parameter. Beispielsweise ist »global::System.Environment.GetEnvironmentVariable( "orkten" )« eine Operation, während »global::System.Environment.GetEnvironmentVariable(string)« eine Methode ist.

Eine Operation kann ausgeführt werden, was dann Werte und Wirkungen entsprechend der Dokumentation ihrer Methode ergibt.

Entsprechend kann eine Operation auch mit einem Operator an Stelle einer Methode geschrieben werden, wobei dann die Operandenwerte die Stelle der Argumentwerte annehmen. Beispielsweise bezeichnet »2+3« auch eine Operation.

Umgebung

Unter der Laufzeitumgebung  verstehen wir die Welt, die den Computer während der Ausführung eines Programmes umgibt.

Zur dieser Laufzeitumgebung gehört auch der Computer selber, sowie eigentlich die ganz Welt. Es handelt sich bei der Laufzeitumgebung um ein physikalisches System. Man kann sich darunter oft einfach den Speicher des Computers vorstellen. Die Laufzeitumgebung wird oft einfach nur als Umgebung  bezeichnet. Die Werte von Argumenten einer Operation gehören aber nicht zur Laufzeitumgebung bei der Ausführung dieser Operation.

Argumentwert ≠ Umgebung

Wirkungen

Eine Wirkung  ist jede Veränderung des Zustandes eines Systems, wenn man sie als Folge von etwas betrachtet, also als dessen Auswirkung oder Wirkung.

Der Wert  einer Auswertung gilt jedoch nicht als eine Wirkung dieser Auswertung, alle anderen von dieser Auswertung hervorgerufenen Veränderung schon.

Wert ≠ Wirkung

Das, was man von „außen“ von einer Auswertung beobachten kann ist der Wert und die Wirkung dieser Auswertung. Daher faßt man beides zum Verhalten  zusammen. Das Verhalten einer Auswertung besteht aus ihrem Wert (gegebenenfalls) und aus ihrer Wirkung (gegebenenfalls).

Verhalten

Verhalten = Wert + Wirkung

Das, was man von „außen“ von einer Operation beobachten kann ist der Wert und die Wirkung dieser Operation. Daher faßt man beides zum Verhalten  zusammen. Das Verhalten einer Operation besteht aus ihrem Wert (gegebenenfalls) und aus ihrer Wirkung (gegebenenfalls).

Messungen

Das Verhalten einer Operation kann von der Umgebung (von ihrem Zustand) abhängen. Man kann sich beispielsweise vorstellen, daß eine Operation den Speicher ausliest und ihr Verhalten vom Ergebnis des Auslesens abhängig macht. Eine solche Operation, deren Verhalten vom Zustand ihrer Umgebung abhängt, nennen wir auch eine Meßoperation.

Entsprechend ist eine Meßmethode, eine Methode, deren Operationen Meßoperationen sind.

Die Zustandsübertragung

Es ist möglich, daß eine Operation einer anderen Operation eine Botschaft übermitteln kann, indem die erste Operation eine Wirkung hervoruft, die von der zweiten Operation durch eine Messung detektiert wird.

Die Bestimmung des Verhaltens

Das Verhalten einer Anwendung einer Methode wird durch zwei Schritte bestimmt:

So gesehen ist es immer genau bestimmt, was ein bestimmter Methodenaufruf macht – allerdings nicht nur durch die Argumentwerte, sondern auch durch den Zustand der Umgebung. Der Autor eines Methodenaufrufes kennt allerdings beides oft nicht, so daß ihm das genaue Verhalten eines bestimmten Methodenaufrufs nicht unbedingt bekannt sein muß.

Interaktionen

Wir habe die Situation hier noch etwas vereinfacht, indem wir ignoriert haben, daß eine Ausführung einer Inkarnation längere Zeit in Anspruch nehmen kann, und währenddessen selber verschiedene Wirkungen und Messungen vornehmen kann, was wir dann als eine Interaktion  bezeichnen. Bei einer Interaktion können die Grenzen zwischen einer Inkarnation und ihrer Umgebung verschwimmen, aber man könnte diese Grenzen wieder herstellen, indem man die Interaktion in elementare Messungen und Wirkungen zerlegt.

Übung

Sagen Sie die Ausgabe des folgenden Programms voraus, ohne das Programm zu starten!

Program.cs

public static class Program
{ public static void Main()
{

global::System.Console.WriteLine( global::System.Environment.GetEnvironmentVariable( "orkten" ));
global::System.Environment.SetEnvironmentVariable( "orkten", "a" );
global::System.Environment.SetEnvironmentVariable( "orkten", "b" );
global::System.Environment.SetEnvironmentVariable( "orkten", "c" );
global::System.Console.WriteLine( global::System.Environment.GetEnvironmentVariable( "orkten" ));
global::System.Environment.SetEnvironmentVariable( "orkten", "d" );
global::System.Console.WriteLine( global::System.Environment.GetEnvironmentVariable( "orkten" ));

}}

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722565 stefan_ram:722565 Wirkausdrücke in C# Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722565, slrprddef722565, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/wirkausdruckrahmen_csharp