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.Items.Add(sString);
  }
  m_env_list.SetSelected(0, true);
  m_env_list_SelectedIndexChanged(this,null);
  break;
//-----------------------------------------------------------

Downloads

Download source - 24 Kb


Comments

  • 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

  • Live Event Date: May 7, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT This eSeminar will explore three popular games engines and how they empower developers to create exciting, graphically rich, and high-performance games for Android® on Intel® Architecture. Join us for a deep dive as experts describe the features, tools, and common challenges using Marmalade, App Game Kit, and Havok game engines, as well as a discussion of the pros and cons of each engine and how they fit into your development …

  • Instead of only managing projects organizations do need to manage value! "Doing the right things" and "doing things right" are the essential ingredients for successful software and systems delivery. Unfortunately, with distributed delivery spanning multiple disciplines, geographies and time zones, many organizations struggle with teams working in silos, broken lines of communication, lack of collaboration, inadequate traceability, and poor project visibility. This often results in organizations "doing the …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds