Wichtige C#-Klassen: Environment

Environment ist eine statische Klasse, die einige Eigenschaften und Funktionen für das Abrufen und Setzen von Informationen der Computer-Umgebung enthält. Die Eigenschaft CommandLine gibt die Befehlszeile (Pfad der Datei, Dateiname und Argumente) des Programms zurück. Die Eigenschaft CurrentDirectory gibt das aktuelle Arbeitsverzeichnis zurück oder legt dieses fest. Standardmäßig entspricht dies dem Ordner, in welchem die ausführbare Datei liegt. Das Arbeitsverzeichnis kann jedoch durch innere und äußere Einflüsse vor oder während der Laufzeit des Programms geändert werden. Mit Hilfe der Funktion GetCommandLineArgs() erhalten Sie die Befehlszeilenargumente. Diese sind bereits in der Eigenschaft CommandLine enthalten, jedoch bietet die Funktion den Vorteil, dass hier die einzelnen Argumente bereits zerteilt wurden, sodass wir ein string-Array erhalten. Das erste Argument entspricht immer dem Pfad mit Dateiname. Alle weiteren Argumente sind übergebene Parameter, welche beim „einfachen“ Aufrufen der ausführbaren Datei nicht vorhanden sind. Dabei entspricht das von der Funktion zurückgegebene Array dem Array, welches als Parameter in der Main()-Funktion übergeben wurde. Mit der Eigenschaft MachineName können Sie den Computer-Namen abrufen. UserName gibt den Namen des aktuellen Benutzers zurück. Um die aktuelle Version des Betriebssystems zu ermitteln, kann die Eigenschaft OSVersion abgerufen werden. Die Eigenschaft ist ein Objekt der Klasse OperatingSystem. Im Beispiel wird der Inhalt des Objekts automatisch in eine Zeichenkette umgewandelt, welche alle notwendigen Informationen enthält. Über die Eigenschaft SystemDirectory erhalten wir den Pfad des Windows-System-Verzeichnisses (normalerweise C:Windows\system32). Die Eigenschaft ProcessorCount gibt die Anzahl der logischen Prozessoren zurück. Die Funktion Exit() erlaubt es, das aktuelle Programm mit einem gewissen Code zu beenden. Bei diesem Code handelt es sich um den sogenannten Exitcode, welcher als Parameter übergeben wird. Der Exitcode ist eine Ganzzahl und wird unter anderem in der Ereignisprotokollierung von Windows protokolliert. Windows bzw. Microsoft empfiehlt, den Exitcode 0, um ein erfolgreiches Beenden des Programms zu kennzeichnen. Meistens werden negative Werte für Fehlercodes verwendet. Die meisten Eigenschaften der Environment-Klasse können nur gelesen werden und nicht gesetzt werden.

Program.cs

Console.WriteLine("Befehlszeile: " + Environment.CommandLine);
Console.WriteLine("Arbeitsverzeichnis: " + Environment.CurrentDirectory);

Console.WriteLine();

Console.WriteLine("Argumente:");
// Environment.GetCommandLineArgs() entspricht den args-Parametern der Main-Funktion
foreach (string sArg in Environment.GetCommandLineArgs())
	Console.WriteLine(sArg);

Console.WriteLine();

Console.WriteLine("Computer-Name: " + Environment.MachineName);
Console.WriteLine("Benutzername: " + Environment.UserName);

Console.WriteLine();

Console.WriteLine("Betriebssystem-Version: " + Environment.OSVersion);      // OS-Version ist eine Klasse, über welche weitere 
																			// Informationen einzeln abgerufen werden können
Console.WriteLine("Systemverzeichnis: " + Environment.SystemDirectory);

Console.WriteLine();

Console.WriteLine("Prozessoren-Kern-Anzahl: " + Environment.ProcessorCount);

Console.WriteLine();
Console.WriteLine();

Console.Write("Geben Sie \"exit\" ein, um das Programm zu beenden: ");
if (Console.ReadLine() == "exit")
	Environment.Exit(0);

Console.WriteLine("Sie haben das Programm nicht über Environment.Exit() beendet!");

Console.ReadKey();
Download

LinksRechts