Thought this would be interesting to show what’s in the System.Environment class, the code below is just borrowed from the MSDN documentation with a few tidy ups. It’s useful to know what the Environment class provides.
using System;
using System.Collections;
namespace CsharpEnvironmentDemo
{
class CsharpEnvironmentExample
{
static void Main()
{
var newLine = Environment.NewLine;
Console.WriteLine();
Console.WriteLine("Output from the Environment class:");
Console.WriteLine();
Console.WriteLine("CommandLine: {0}", Environment.CommandLine);
Console.WriteLine();
var arguments = Environment.GetCommandLineArgs();
Console.WriteLine("GetCommandLineArgs: {0}", String.Join(", ", arguments));
Console.WriteLine();
Console.WriteLine("CurrentDirectory: {0}", Environment.CurrentDirectory);
Console.WriteLine();
Console.WriteLine("ExitCode: {0}", Environment.ExitCode);
Console.WriteLine();
Console.WriteLine("HasShutdownStarted: {0}", Environment.HasShutdownStarted);
Console.WriteLine();
Console.WriteLine("MachineName: {0}", Environment.MachineName);
Console.WriteLine();
Console.WriteLine("NewLine: {0} first line{0} second line{0} third line",
Environment.NewLine);
Console.WriteLine();
Console.WriteLine("OSVersion: {0}", Environment.OSVersion);
Console.WriteLine();
Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace);
Console.WriteLine();
Console.WriteLine("SystemDirectory: {0}", Environment.SystemDirectory);
Console.WriteLine();
Console.WriteLine("TickCount: {0}", Environment.TickCount);
Console.WriteLine();
Console.WriteLine("UserDomainName: {0}", Environment.UserDomainName);
Console.WriteLine();
Console.WriteLine("UserInteractive: {0}", Environment.UserInteractive);
Console.WriteLine();
Console.WriteLine("UserName: {0}", Environment.UserName);
Console.WriteLine();
Console.WriteLine("Version: {0}", Environment.Version);
Console.WriteLine();
Console.WriteLine("WorkingSet: {0}", Environment.WorkingSet);
Console.WriteLine();
const string query = "My system drive is %SystemDrive% and my system root is %SystemRoot%";
var str = Environment.ExpandEnvironmentVariables(query);
Console.WriteLine("ExpandEnvironmentVariables: {0} {1}", newLine, str);
Console.WriteLine();
Console.WriteLine("GetEnvironmentVariable: {0} My temporary directory is {1}.", newLine,
Environment.GetEnvironmentVariable("TEMP"));
Console.WriteLine();
Console.WriteLine("GetEnvironmentVariables: ");
var environmentVariables = Environment.GetEnvironmentVariables();
foreach (DictionaryEntry entry in environmentVariables)
Console.WriteLine(" {0} = {1}", entry.Key, entry.Value);
Console.WriteLine();
Console.WriteLine("GetFolderPath: {0}",
Environment.GetFolderPath(Environment.SpecialFolder.System));
Console.WriteLine();
var drives = Environment.GetLogicalDrives();
Console.WriteLine("GetLogicalDrives: {0}", String.Join(", ", drives));
Console.ReadKey();
}
}
}