Using the Environment Class

Click here for a larger image.

Environment: .NET, C#

The .NET Framework takes a much different approach to the Environment than Windows. There is a class called Environment, part of the System namespace. The documentation states:

Use this class to retrieve the following information:

  • Command line arguments
  • Exit codes
  • Environment variable settings
  • Contents of the call stack
  • Time since last system boot
  • Version of the common language runtime

Besides getting all or a particular environment variable(s), there are other objects available. Most objects are read only, and there is no method to set or add a variable. As far as I can tell, only CurrentDirectory and ExitCode can be changed. There is no method to add or modify the environment variables. The most interesting thing I noticed when coding the example C# program was the way GetEnvironmentVariables() worked. The method returns an IDictionary object that represents a collection of key-and-value pairs. Another interesting method is GetFolderPath, which retrieves paths to various system folders.


The following is a C# example of how to retrieve all environment variables.

case 0:
  IDictionary id;
  String sString;

  ArrayList values = new ArrayList();

  m_env_list.Items.Clear ();
  id = Environment.GetEnvironmentVariables();
  foreach (DictionaryEntry myEntry in id)
    sString = myEntry.Key.ToString();
    sString += "=";
    sString += myEntry.Value.ToString();
  m_env_list.SetSelected(0, true);


Download source - 24 Kb


  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Moving from an on-premises environment to Office 365 does not remove the need to plan for disruptions or reduce the business risk requirements for protecting email services. If anything, some risks increase with a move to the cloud. Read how to ease the transition every business faces if considering or already migrating to cloud email. This white paper discusses: Setting expectations when migrating to Office 365 Understanding the implications of relying solely on Exchange Online security Necessary archiving …

  • Anthony Christie, the Chief Marketing Officer for Level Communications, is responsible for customer experience, worldwide marketing and product management. In this informative asset, he shares his insights into why a private network connection to cloud-bases applications is the right decision for your enterprise. Download now to find out more.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date