﻿<?xml version="1.0" encoding="utf-8"?><Type Name="Environment" FullName="System.Environment" FullNameSP="System_Environment" Maintainer="ecma"><TypeSignature Language="ILASM" Value=".class public sealed Environment extends System.Object" /><TypeSignature Language="C#" Value="public static class Environment" /><TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit Environment extends System.Object" /><MemberOfLibrary>BCL</MemberOfLibrary><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use the <see cref="T:System.Environment" /> class to retrieve information such as command-line arguments, the exit code, environment variable settings, contents of the call stack, time since last system boot, and the version of the common language runtime.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Provides information about, and means to manipulate, the current environment and platform. This class cannot be inherited.</para></summary></Docs><Members><Member MemberName="CommandLine"><MemberSignature Language="ILASM" Value=".property string CommandLine { public hidebysig static specialname string get_CommandLine() }" /><MemberSignature Language="C#" Value="public static string CommandLine { get; }" /><MemberSignature Language="ILAsm" Value=".property string CommandLine" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><value><para>A <see cref="T:System.String" /> containing
   the command line arguments.</para></value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This property provides access to the program name and any arguments specified on the command line when the current process was started.</para><para>The program name can  include path information, but is not required to do so. Use the <see cref="M:System.Environment.GetCommandLineArgs" /> method to retrieve the command-line information parsed and stored in an array of strings.</para><para>The maximum size of the command-line buffer is not set to a specific number of characters; it varies depending on the Windows operating system that is running on the computer.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the command line for this process.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="CurrentDirectory"><MemberSignature Language="C#" Value="public static string CurrentDirectory { get; set; }" /><MemberSignature Language="ILAsm" Value=".property string CurrentDirectory" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>A <see cref="T:System.String" /> containing
   the full current working directory path.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>By definition, if this process starts in the root directory of a local or network drive, the value of this property is the drive name followed by a trailing slash (for example, "C:\"). If this process starts in a subdirectory, the value of this property is the drive and subdirectory path, without a trailing slash (for example, "C:\mySubDirectory").</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the fully qualified path of the current working directory.</para></summary></Docs></Member><Member MemberName="CurrentManagedThreadId"><MemberSignature Language="C#" Value="public static int CurrentManagedThreadId { get; }" /><MemberSignature Language="ILAsm" Value=".property int32 CurrentManagedThreadId" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a unique identifier for the current managed thread.</para></summary></Docs></Member><Member MemberName="Exit"><MemberSignature Language="ILASM" Value=".method public hidebysig static void Exit(int32 exitCode)" /><MemberSignature Language="C#" Value="public static void Exit (int exitCode);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig void Exit(int32 exitCode) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="exitCode" Type="System.Int32" /></Parameters><Docs><exception cref="T:System.Security.SecurityException">The immediate caller does not have the required permission.</exception><permission cref="T:System.Security.Permissions.EnvironmentPermission">Requires permission to read environment variables. See <see cref="F:System.Security.Permissions.EnvironmentPermissionAccess.Read" />.</permission><permission cref="T:System.Security.Permissions.SecurityPermission">Requires unmanaged code permission. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode" />.</permission><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>For the <paramref name="exitCode" /> parameter, use a non-zero number to indicate an error. In your application, you can define your own error codes in an enumeration, and return the appropriate error code based on the scenario. For example, return a value of 1 to indicate that the required file is not present and a value of 2 to indicate that the file is in the wrong format. For a list of exit codes used by the Windows operating system, see <see cref="http://msdn.microsoft.com/library/ms681381.aspx">System Error Codes</see> in the Windows documentation.</para><para>Calling the <see cref="M:System.Environment.Exit(System.Int32)" /> method differs from using your programming language's return statement in the following ways: </para><list type="bullet"><item><para><see cref="M:System.Environment.Exit(System.Int32)" /> always terminates an application. Using the return statement may terminate an application only if it is used in the application entry point, such as in the Main method. </para></item><item><para><see cref="M:System.Environment.Exit(System.Int32)" /> terminates an application immediately, even if other threads are running. If the return statement is called in the application entry point, it causes an application to terminate only after all foreground threads have terminated. </para></item><item><para><see cref="M:System.Environment.Exit(System.Int32)" /> requires the caller to have permission to call unmanaged code. The return statement does not. </para></item><item><para>If <see cref="M:System.Environment.Exit(System.Int32)" /> is called from a try or finally block, the code in any catch block does not execute. If the return statement is used, the code in the catch block does execute. </para></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Terminates this process and gives the underlying operating system the specified exit code.</para></summary><param name="exitCode"><attribution license="cc4" from="Microsoft" modified="false" />Exit code to be given to the operating system. Use 0 (zero) to indicate that the process completed successfully.</param></Docs><Excluded>0</Excluded></Member><Member MemberName="ExitCode"><MemberSignature Language="ILASM" Value=".property int32 ExitCode { public hidebysig static specialname int32 get_ExitCode() public hidebysig static specialname void set_ExitCode(int32 value) }" /><MemberSignature Language="C#" Value="public static int ExitCode { get; set; }" /><MemberSignature Language="ILAsm" Value=".property int32 ExitCode" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters /><MemberValue>0</MemberValue><Docs><value><para>A <see cref="T:System.Int32" />
value returned by a process. The default value is zero.</para></value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the Main method returns void, you can use this property to set the exit code that will be returned to the calling environment. If Main does not return void, this property is ignored. The initial value of this property is zero.</para><block subset="none" type="note"><para>The <see cref="P:System.Environment.ExitCode" /> property is a signed 32-bit integer. To prevent the property from returning a negative exit code, you should not use values greater than or equal to 0x80000000.</para></block><para>Use a non-zero number to indicate an error. In your application, you can define your own error codes in an enumeration, and return the appropriate error code based on the scenario. For example, return a value of 1 to indicate that the required file is not present and a value of 2 to indicate that the file is in the wrong format. For a list of exit codes used by the Windows operating system, see <see cref="http://msdn.microsoft.com/en-us/library/ms681381(v=vs.85)">System Error Codes</see> in the Windows documentation. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the exit code of the process.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="ExpandEnvironmentVariables"><MemberSignature Language="C#" Value="public static string ExpandEnvironmentVariables (string name);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig string ExpandEnvironmentVariables(string name) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="name" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>COM interop is used to retrieve the environment variables from the operating system. If the environment variables cannot be retrieved due to a COM error, the HRESULT that explains the cause of the failure is used to generate one of several possible exceptions; that is, the exception depends on the HRESULT. For more information about how the HRESULT is processed, see the Remarks section of the <see cref="M:System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(System.Int32)" /> method.</para><para>Replacement only occurs for environment variables that are set. For example, suppose <paramref name="name" /> is "MyENV = %MyENV%". If the environment variable, MyENV, is set to 42, this method returns "MyENV = 42". If MyENV is not set, no change occurs; this method returns "MyENV = %MyENV%".</para><para>The size of the return value is limited to 32K on Windows NT 4.0 and earlier, and Windows 2000 and later. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Replaces the name of each environment variable embedded in the specified string with the string equivalent of the value of the variable, then returns the resulting string.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A string with each environment variable replaced by its value.</para></returns><param name="name"><attribution license="cc4" from="Microsoft" modified="false" />A string containing the names of zero or more environment variables. Each environment variable is quoted with the percent sign character (%).</param></Docs></Member><Member MemberName="FailFast"><MemberSignature Language="C#" Value="public static void FailFast (string message);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig void FailFast(string message) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="message" Type="System.String" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method terminates a process without running any active try/finally blocks or finalizers. </para><para>The <see cref="M:System.Environment.FailFast(System.String)" /> method writes the <paramref name="message" /> string to the Windows Application event log, creates a dump of your application, and then terminates the current process. The <paramref name="message" /> string is also included in error reporting to Microsoft.</para><para>Use the <see cref="M:System.Environment.FailFast(System.String)" /> method instead of the <see cref="M:System.Environment.Exit(System.Int32)" /> method to terminate your application if the state of your application is damaged beyond repair, and executing your application's try/finally blocks and finalizers will corrupt program resources.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Immediately terminates a process after writing a message to the Windows Application event log, and then includes the message in error reporting to Microsoft.</para></summary><param name="message"><attribution license="cc4" from="Microsoft" modified="false" />A message that explains why the process was terminated, or null if no explanation is provided.</param></Docs></Member><Member MemberName="FailFast"><MemberSignature Language="C#" Value="public static void FailFast (string message, Exception exception);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig void FailFast(string message, class System.Exception exception) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Security.SecurityCritical</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="message" Type="System.String" /><Parameter Name="exception" Type="System.Exception" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method terminates the process without running any active try/finally blocks or finalizers. </para><para>The <see cref="M:System.Environment.FailFast(System.String,System.Exception)" /> method writes the <paramref name="message" /> string to the Windows Application event log, creates a dump of your application, and then terminates the current process.</para><para>Error reporting to Microsoft includes <paramref name="message" /> and <paramref name="exception" /> information, which provides details used to classify the error. Although <paramref name="exception" /> is not handled because the process is terminated, the contextual information that raised the exception is still obtained.</para><para>If <paramref name="exception" /> is null, or if <paramref name="exception" /> is not thrown, this method operates the same as the <see cref="M:System.Environment.FailFast(System.String)" /> method overload. </para><para>Use the <see cref="M:System.Environment.FailFast(System.String,System.Exception)" /> method instead of the <see cref="M:System.Environment.Exit(System.Int32)" /> method to terminate your application if the state of your application is damaged beyond repair, and executing your application's try/finally blocks and finalizers will corrupt program resources.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Immediately terminates a process after writing a message to the Windows Application event log, and then includes the message and exception information in error reporting to Microsoft.</para></summary><param name="message"><attribution license="cc4" from="Microsoft" modified="false" />A message that explains why the process was terminated, or null if no explanation is provided.</param><param name="exception"><attribution license="cc4" from="Microsoft" modified="false" />An exception that represents the error that caused the termination. This is typically the exception in a catch block.</param></Docs></Member><Member MemberName="GetCommandLineArgs"><MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetCommandLineArgs()" /><MemberSignature Language="C#" Value="public static string[] GetCommandLineArgs ();" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig string[] GetCommandLineArgs() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The first element in the array contains the file name of the executing program. If the file name is not available, the first element is equal to <see cref="F:System.String.Empty" />. The remaining elements contain any additional tokens entered on the command line.</para><para>The program file name can, but is not required to, include path information.</para><para>Command line arguments are delimited by spaces. You can use double quotation marks (") to include spaces within an argument. The single quotation mark ('), however, does not provide this functionality. </para><para>If a double quotation mark follows two or an even number of backslashes, each proceeding backslash pair is replaced with one backslash and the double quotation mark is removed. If a double quotation mark follows an odd number of backslashes, including just one, each preceding pair is replaced with one backslash and the remaining backslash is removed; however, in this case the double quotation mark is not removed. </para><para>The following table shows how command line arguments can be delimited, and assumes MyApp as the current executing application.</para><list type="table"><listheader><item><term><para>Input at the command line</para></term><description><para>Resulting command line arguments</para></description></item></listheader><item><term><para>MyApp alpha beta</para></term><description><para>MyApp, alpha, beta</para></description></item><item><term><para>MyApp "alpha with spaces" "beta with spaces"</para></term><description><para>MyApp, alpha with spaces, beta with spaces </para></description></item><item><term><para>MyApp 'alpha with spaces' beta</para></term><description><para>MyApp, 'alpha, with, spaces', beta</para></description></item><item><term><para>MyApp \\\alpha \\\\"beta</para></term><description><para>MyApp, \\\alpha, \\beta</para></description></item><item><term><para>MyApp \\\\\"alpha \"beta</para></term><description><para>MyApp, \\"alpha, "beta</para></description></item></list><para>To obtain the command line as a single string, use the <see cref="P:System.Environment.CommandLine" /> property.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a string array containing the command-line arguments for the current process.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An array of string where each element contains a command-line argument. The first element is the executable file name, and the following zero or more elements contain the remaining command-line arguments.</para></returns></Docs><Excluded>0</Excluded></Member><Member MemberName="GetEnvironmentVariable"><MemberSignature Language="ILASM" Value=".method public hidebysig static string GetEnvironmentVariable(string variable)" /><MemberSignature Language="C#" Value="public static string GetEnvironmentVariable (string variable);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetEnvironmentVariable(string variable) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="variable" Type="System.String" /></Parameters><Docs><exception cref="T:System.ArgumentNullException"><paramref name="variable" /> is a null reference.</exception><exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception><permission cref="T:System.Security.Permissions.EnvironmentPermission">Requires permission to read environment variables. See <see cref="F:System.Security.Permissions.EnvironmentPermissionAccess.Read" />.</permission><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Environment variable names are not case-sensitive.</para><para>To retrieve all environment variables along with their values, call the <see cref="M:System.Environment.GetEnvironmentVariables" /> method. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Retrieves the value of an environment variable from the current process.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the environment variable specified by <paramref name="variable" />, or null if the environment variable is not found.</para></returns><param name="variable"><attribution license="cc4" from="Microsoft" modified="false" />The name of the environment variable.</param></Docs><Excluded>0</Excluded></Member><Member MemberName="GetEnvironmentVariable"><MemberSignature Language="C#" Value="public static string GetEnvironmentVariable (string variable, EnvironmentVariableTarget target);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetEnvironmentVariable(string variable, valuetype System.EnvironmentVariableTarget target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="variable" Type="System.String" /><Parameter Name="target" Type="System.EnvironmentVariableTarget" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <paramref name="target" /> parameter specifies whether the environment variable is retrieved from the current process or from the Windows operating system registry key for the current user or local machine.</para><para>Environment variable names are not case-sensitive.</para><para>To retrieve all environment variables along with their values, call the <see cref="M:System.Environment.GetEnvironmentVariables" /> method. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Retrieves the value of an environment variable from the current process or from the Windows operating system registry key for the current user or local machine.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the environment variable specified by the <paramref name="variable" /> and <paramref name="target" /> parameters, or null if the environment variable is not found.</para></returns><param name="variable"><attribution license="cc4" from="Microsoft" modified="false" />The name of an environment variable.</param><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.EnvironmentVariableTarget" /> values.</param></Docs></Member><Member MemberName="GetEnvironmentVariables"><MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Collections.IDictionary GetEnvironmentVariables()" /><MemberSignature Language="C#" Value="public static System.Collections.IDictionary GetEnvironmentVariables ();" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.IDictionary GetEnvironmentVariables() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.IDictionary</ReturnType></ReturnValue><Parameters /><Docs><exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception><permission cref="T:System.Security.Permissions.EnvironmentPermission">Requires permission to read environment variables. See <see cref="F:System.Security.Permissions.EnvironmentPermissionAccess.Read" />.</permission><example><para>The following example prints the names and values of all
      environment variables defined in the environment.</para><code lang="C#">using System;
using System.Collections;

class EnvTest:Object {
  public static void Main() {
    Console.WriteLine("Environment Variables");
    IDictionary envars =
        Environment.GetEnvironmentVariables();
    IDictionaryEnumerator varEnumerator =
        envars.GetEnumerator();
    while(varEnumerator.MoveNext() != false) {
      Console.WriteLine("{0}={1}", 
                        varEnumerator.Key,
                        varEnumerator.Value);
    }
  }
}
   </code><para>The output will vary depending on your system.</para></example><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The names and values for the environment variables are stored as key-value pairs in the returned <see cref="T:System.Collections.IDictionary" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Retrieves all environment variable names and their values from the current process.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A dictionary that contains all environment variable names and their values; otherwise, an empty dictionary if no environment variables are found.</para></returns></Docs><Excluded>0</Excluded></Member><Member MemberName="GetEnvironmentVariables"><MemberSignature Language="C#" Value="public static System.Collections.IDictionary GetEnvironmentVariables (EnvironmentVariableTarget target);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.IDictionary GetEnvironmentVariables(valuetype System.EnvironmentVariableTarget target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.IDictionary</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.EnvironmentVariableTarget" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <paramref name="target" /> parameter specifies whether the source is the current process, the registry key for the current user, or the registry key for the local machine.</para><para>The names and values of the environment variables are stored as key/value pairs in the returned <see cref="T:System.Collections.IDictionary" /> object.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Retrieves all environment variable names and their values from the current process, or from the Windows operating system registry key for the current user or local machine.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A dictionary that contains all environment variable names and their values from the source specified by the <paramref name="target" /> parameter; otherwise, an empty dictionary if no environment variables are found.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.EnvironmentVariableTarget" /> values.</param></Docs></Member><Member MemberName="GetFolderPath"><MemberSignature Language="C#" Value="public static string GetFolderPath (Environment.SpecialFolder folder);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetFolderPath(valuetype System.Environment/SpecialFolder folder) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="folder" Type="System.Environment+SpecialFolder" /></Parameters><Docs><param name="folder">The special folder whose path is to be returned.</param><summary>Returns the path on the file system corresponding to the special folder.</summary><returns>The path to the special folder, or the empty string if the special folder is not available or not applicable in the running operating system.</returns><remarks>See <see cref="T:System.Environment+SpecialFolder" /> for a list of special folders and their locations on non-Windows operating systems.</remarks></Docs></Member><Member MemberName="GetFolderPath"><MemberSignature Language="C#" Value="public static string GetFolderPath (Environment.SpecialFolder folder, Environment.SpecialFolderOption option);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetFolderPath(valuetype System.Environment/SpecialFolder folder, valuetype System.Environment/SpecialFolderOption option) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="folder" Type="System.Environment+SpecialFolder" /><Parameter Name="option" Type="System.Environment+SpecialFolderOption" /></Parameters><Docs><param name="folder">To be added.</param><param name="option">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="GetLogicalDrives"><MemberSignature Language="C#" Value="public static string[] GetLogicalDrives ();" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig string[] GetLogicalDrives() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns an array of string containing the names of the logical drives on the current computer.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An array of strings where each element contains the name of a logical drive. For example, if the computer's hard drive is the first logical drive, the first element returned is "C:\".</para></returns></Docs></Member><Member MemberName="HasShutdownStarted"><MemberSignature Language="ILASM" Value=".property bool HasShutdownStarted { public hidebysig static specialname instance bool get_HasShutdownStarted() }" /><MemberSignature Language="C#" Value="public static bool HasShutdownStarted { get; }" /><MemberSignature Language="ILAsm" Value=".property bool HasShutdownStarted" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><value><para>A <see cref="T:System.Boolean" qualify="true" /> where <see langword="true" /> indicates the shutdown
   process has started; otherwise <see langword="false" />.</para></value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>When the CLR unloads an application domain, it runs the finalizers on all objects that have a finalizer method in that application domain. When the CLR shuts down, it starts the finalizer thread on all objects that have a finalizer method. The <see cref="P:System.Environment.HasShutdownStarted" /> property returns true only after the finalizer thread has been started. When the property returns true, you can determine whether an application domain is being unloaded or the CLR itself is shutting down by calling the <see cref="M:System.AppDomain.IsFinalizingForUnload" /> method. This method returns true if finalizers are called because the application domain is unloading or false if the CLR is shutting down. </para><para>The <see cref="P:System.Environment.HasShutdownStarted" /> property returns false if the finalizer thread has not been started. </para><para>By using this property, you can determine whether to access static variables in your finalization code. If either an application domain or the CLR is shutting down, you cannot reliably access any object that has a finalization method and that is referenced by a static field. This is because these objects may have already been finalized.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value that indicates whether the current application domain is being unloaded or the common language runtime (CLR) is shutting down. </para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="Is64BitOperatingSystem"><MemberSignature Language="C#" Value="public static bool Is64BitOperatingSystem { get; }" /><MemberSignature Language="ILAsm" Value=".property bool Is64BitOperatingSystem" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines whether the current operating system is a 64-bit operating system.</para></summary></Docs></Member><Member MemberName="Is64BitProcess"><MemberSignature Language="C#" Value="public static bool Is64BitProcess { get; }" /><MemberSignature Language="ILAsm" Value=".property bool Is64BitProcess" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines whether the current process is a 64-bit process.</para></summary></Docs></Member><Member MemberName="MachineName"><MemberSignature Language="C#" Value="public static string MachineName { get; }" /><MemberSignature Language="ILAsm" Value=".property string MachineName" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>The machine name of the computer the application is running on.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The name of this computer is established at system startup when the name is read from the registry. If this computer is a node in a cluster, the name of the node is returned.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the NetBIOS name of this local computer.</para></summary></Docs></Member><Member MemberName="NewLine"><MemberSignature Language="ILASM" Value=".property string NewLine { public hidebysig static specialname string get_NewLine() }" /><MemberSignature Language="C#" Value="public static string NewLine { get; }" /><MemberSignature Language="ILAsm" Value=".property string NewLine" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><value><para> A <see cref="T:System.String" /> containing the characters required to write a newline.</para></value><example><para>The following example demonstrates using the <see cref="P:System.Environment.NewLine" />
property. The string returned by <see cref="P:System.Environment.NewLine" /> is inserted between "Hello" and
"World", causing a line break between the words in the output.</para><code lang="C#">using System;
class TestClass {
    public static void Main() {
      Console.WriteLine("Hello,{0}World",
                        Environment.NewLine);
    }
}
</code><para>The output is</para><c><para>Hello,</para><para>World</para></c></example><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The property value of <see cref="P:System.Environment.NewLine" /> is a constant customized specifically for the current platform and implementation of the .NET Framework. For more information about the escape characters in the property value, see <format type="text/html"><a href="f49cc9cc-db7d-4058-8b8a-422bc08b29b0">Character Escapes</a></format>.</para><para>The functionality provided by <see cref="P:System.Environment.NewLine" /> is often what is meant by the terms newline, line feed, line break, carriage return, CRLF, and end of line. </para><para><see cref="P:System.Environment.NewLine" /> can be used in conjunction with language-specific newline support such as the escape characters '\r' and '\n' in Microsoft C# and C/C++, or vbCrLf in Microsoft Visual Basic.</para><para><see cref="P:System.Environment.NewLine" /> is automatically appended to text processed by the <see cref="Overload:System.Console.WriteLine" /> and <see cref="Overload:System.Text.StringBuilder.AppendLine" /> methods.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the newline string defined for this environment.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="OSVersion"><MemberSignature Language="C#" Value="public static OperatingSystem OSVersion { get; }" /><MemberSignature Language="ILAsm" Value=".property class System.OperatingSystem OSVersion" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.OperatingSystem</ReturnType></ReturnValue><Docs><value>A <see cref="T:System.OperatingSystem" /> object representing the current platform.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Typically, the <see cref="P:System.Environment.OSVersion" /> property is used to ensure that an app is running on some base version of an operating system in which a particular feature was introduced. When this is the case, you should perform a version check by testing whether the current operating system version returned by the <see cref="P:System.Environment.OSVersion" /> property is the same as, or greater than, the base operating system version. For more information, see the <see cref="T:System.Version" /> class topic. </para><para>The <see cref="P:System.Environment.OSVersion" /> property returns the version reported by the Windows <see cref="http://msdn.microsoft.com/library/windows/desktop/ms724451(v=vs.85).aspx">GetVersionEx</see> function. </para><block subset="none" type="note"><para>The <see cref="P:System.Environment.OSVersion" /> property reports the same version number (6.2.0.0) for both win8 and win81. </para></block><para>In some cases, the <see cref="P:System.Environment.OSVersion" /> property may not return the operating system version that matches the version specified for the Windows Program Compatibility mode feature.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets an <see cref="T:System.OperatingSystem" /> object that contains the current platform identifier and version number.</para></summary></Docs></Member><Member MemberName="ProcessorCount"><MemberSignature Language="C#" Value="public static int ProcessorCount { get; }" /><MemberSignature Language="ILAsm" Value=".property int32 ProcessorCount" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><since version=".NET 2.0" /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the number of processors on the current machine.</para></summary></Docs></Member><Member MemberName="SetEnvironmentVariable"><MemberSignature Language="C#" Value="public static void SetEnvironmentVariable (string variable, string value);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetEnvironmentVariable(string variable, string value) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="variable" Type="System.String" /><Parameter Name="value" Type="System.String" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the <paramref name="value" /> parameter is not empty and the environment variable named by the <paramref name="variable" /> parameter does not exist, the environment variable is created and assigned the contents of <paramref name="value" />. Solely for purposes of this operation, <paramref name="value" /> is considered empty if it is null, contains a zero-length string, or contains an initial hexadecimal zero character (0x00).</para><para>If <paramref name="variable" /> contains a non-initial hexadecimal zero character, the characters before the zero character are considered the environment variable name and all subsequent characters are ignored.</para><para>If <paramref name="value" /> contains a non-initial hexadecimal zero character, the characters before the zero character are assigned to the environment variable and all subsequent characters are ignored.</para><para>If <paramref name="value" /> is empty and the environment variable named by <paramref name="variable" /> exists, the environment variable is deleted. If <paramref name="variable" /> does not exist, no error occurs even though the operation cannot be performed.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates, modifies, or deletes an environment variable stored in the current process.</para></summary><param name="variable"><attribution license="cc4" from="Microsoft" modified="false" />The name of an environment variable.</param><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />A value to assign to <paramref name="variable" />.</param></Docs></Member><Member MemberName="SetEnvironmentVariable"><MemberSignature Language="C#" Value="public static void SetEnvironmentVariable (string variable, string value, EnvironmentVariableTarget target);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetEnvironmentVariable(string variable, string value, valuetype System.EnvironmentVariableTarget target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="variable" Type="System.String" /><Parameter Name="value" Type="System.String" /><Parameter Name="target" Type="System.EnvironmentVariableTarget" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the <paramref name="value" /> parameter is not empty and the environment variable named by the <paramref name="variable" /> parameter does not exist, the environment variable is created and assigned the contents of <paramref name="value" />. Solely for the purposes of this operation, <paramref name="value" /> is considered empty if it is null, contains a zero-length string, or contains an initial hexadecimal zero character (0x00).</para><para>If <paramref name="variable" /> contains a non-initial hexadecimal zero character, the characters before the zero character are considered the environment variable name and all subsequent characters are ignored.</para><para>If <paramref name="value" /> contains a non-initial hexadecimal zero character, the characters before the zero character are assigned to the environment variable and all subsequent characters are ignored.</para><para>If <paramref name="value" /> is empty and the environment variable named by <paramref name="variable" /> exists, the environment variable is deleted. If <paramref name="variable" /> does not exist, no error occurs even though the operation cannot be performed. Exercise caution when <paramref name="target" /> is <see cref="F:System.EnvironmentVariableTarget.Machine" /> because you can delete an environment variable that affects your entire local machine, not just the current process or user.</para><para>If <paramref name="target" /> is <see cref="F:System.EnvironmentVariableTarget.User" />, the environment variable is stored in the Windows registry key reserved for the current user. It is also copied to instances of File Explorer that are running as the current user. The environment variable is then inherited by any new processes that the user launches from File Explorer. </para><para>Similarly, if <paramref name="target" /> is <see cref="F:System.EnvironmentVariableTarget.Machine" />, the environment variable is stored in the Windows registry key reserved for the local computer. It is also copied to all instances of File Explorer. The environment variable is then inherited by any new processes that are launched from File Explorer.</para><para>If <paramref name="target" /> is <see cref="F:System.EnvironmentVariableTarget.User" /> or <see cref="F:System.EnvironmentVariableTarget.Machine" />, other applications are notified of the set operation by a Windows WM_SETTINGCHANGE message.</para><para>If <paramref name="target" /> is <see cref="F:System.EnvironmentVariableTarget.User" /> or <see cref="F:System.EnvironmentVariableTarget.Machine" />, it is recommended that the length of <paramref name="value" /> be less than 2048 characters.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates, modifies, or deletes an environment variable stored in the current process or in the Windows operating system registry key reserved for the current user or local machine.</para></summary><param name="variable"><attribution license="cc4" from="Microsoft" modified="false" />The name of an environment variable.</param><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />A value to assign to <paramref name="variable" />.</param><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.EnvironmentVariableTarget" /> values.</param></Docs></Member><Member MemberName="StackTrace"><MemberSignature Language="ILASM" Value=".property string StackTrace { public hidebysig static specialname string get_StackTrace() }" /><MemberSignature Language="C#" Value="public static string StackTrace { get; }" /><MemberSignature Language="ILAsm" Value=".property string StackTrace" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><value><para>A <see cref="T:System.String" /> containing a description of the methods currently in the
   call stack. This value can be <see cref="F:System.String.Empty" /> .</para></value><example><para>The following example gets the <see cref="P:System.Environment.StackTrace" />
property from within a series of nested calls.</para><code lang="C#">using System;
public class TestCallStack {
    public void MyMethod1 () {
        MyMethod2();
    }
    public void MyMethod2 () {
        MyMethod3();
    }
    public void MyMethod3 () {
        Console.WriteLine("TestCallStack: {0}",
                          Environment.StackTrace);
    }
    public static void Main() {
        TestCallStack t = new TestCallStack();
        t.MyMethod1();
    }
}
</code><para>Without debug symbols the output is</para><c><para>TestCallStack: at System.Environment.GetStackTrace(Exception e)</para><para>at System.Environment.GetStackTrace(Exception e)</para><para>at System.Environment.get_StackTrace()</para><para>at TestCallStack.Main()</para></c><para>With debug symbols the output is</para><c><para>TestCallStack: at System.Environment.GetStackTrace(Exception e)</para><para>at System.Environment.GetStackTrace(Exception e)</para><para>at System.Environment.get_StackTrace()</para><para>at TestCallStack.MyMethod3() in c:\ECMAExamples\envstack.cs:line 10</para><para>at TestCallStack.MyMethod2() in c:\ECMAExamples\envstack.cs:line 8</para><para>at TestCallStack.MyMethod1() in c:\ECMAExamples\envstack.cs:line 5</para><para>at TestCallStack.Main() in c:\ECMAExamples\envstack.cs:line 15</para></c></example><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="P:System.Environment.StackTrace" /> property lists method calls in reverse chronological order, that is, the most recent method call is described first, and one line of stack trace information is listed for each method call on the stack. However, the <see cref="P:System.Environment.StackTrace" /> property might not report as many method calls as expected due to code transformations that occur during optimization.</para><block subset="none" type="note"><para>For a hierarchical view of the stack trace information by class, use the <see cref="T:System.Diagnostics.StackTrace" /> class.</para></block><para>The <see cref="P:System.Environment.StackTrace" /> property formats the stack trace information for each method call as follows: </para><para>"at <paramref name="FullClassName" />.<paramref name="MethodName" />(<paramref name="MethodParams" />) in <paramref name="FileName" /> :line <paramref name="LineNumber" /> " </para><para>The literal "at" is preceded by three spaces, and the entire substring starting with "in" is omitted if debug symbols are not available. The placeholders, <paramref name="FullClassName" />, <paramref name="MethodName" />, <paramref name="MethodParams" />, <paramref name="FileName" />, and <paramref name="LineNumber" />, are replaced by actual values, and are defined as follows: </para><list type="table"><item><term>FullClassName</term><description><para>The full name of the class, including the namespace. </para></description></item><item><term><paramref name="MethodName" /></term><description><para>The name of the method. </para></description></item><item><term><paramref name="MethodParams" /></term><description><para>The list of parameter type/name pairs. Each pair is separated by a comma (","). This information is omitted if <paramref name="MethodName" /> takes no parameters. </para></description></item><item><term><paramref name="FileName" /></term><description><para>The name of the source file where the <paramref name="MethodName" /> method is declared. This information is omitted if debug symbols are not available. </para></description></item><item><term><paramref name="LineNumber" /></term><description><para>The number of the line in <paramref name="FileName" /> that contains the source code from <paramref name="MethodName" /> for the instruction that is on the call stack. This information is omitted if debug symbols are not available. </para></description></item></list><para>The <see cref="P:System.Environment.NewLine" /> string terminates each line of the stack trace. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets current stack trace information.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="SystemDirectory"><MemberSignature Language="C#" Value="public static string SystemDirectory { get; }" /><MemberSignature Language="ILAsm" Value=".property string SystemDirectory" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>The full path to the 'System' directory.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>An example of the value returned is the string "C:\WinNT\System32".</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the fully qualified path of the system directory.</para></summary></Docs></Member><Member MemberName="SystemPageSize"><MemberSignature Language="C#" Value="public static int SystemPageSize { get; }" /><MemberSignature Language="ILAsm" Value=".property int32 SystemPageSize" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This information can be useful when determining whether to use the <see cref="F:System.IO.MemoryMappedFiles.MemoryMappedFileOptions.DelayAllocatePages" /> option when you work with memory-mapped files.</para><para>In Windows, this value is the dwPageSize member in the SYSTEM_INFO structure.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the number of bytes in the operating system's memory page.</para></summary></Docs></Member><Member MemberName="TickCount"><MemberSignature Language="ILASM" Value=".property int32 TickCount { public hidebysig static specialname int32 get_TickCount() }" /><MemberSignature Language="C#" Value="public static int TickCount { get; }" /><MemberSignature Language="ILAsm" Value=".property int32 TickCount" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters /><MemberValue>496190500</MemberValue><Docs><value><para>A <see cref="T:System.Int32" /> value containing the amount of time in milliseconds that
   has passed since the last time the computer was started.</para></value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of this property is derived from the system timer and is stored as a 32-bit signed integer. Consequently, if the system runs continuously, <see cref="P:System.Environment.TickCount" /> will increment from zero to <see cref="F:System.Int32.MaxValue" /> for approximately 24.9 days, then jump to <see cref="F:System.Int32.MinValue" />, which is a negative number, then increment back to zero during the next 24.9 days.</para><para><see cref="P:System.Environment.TickCount" /> is different from the <see cref="P:System.DateTime.Ticks" /> property, which is the number of 100-nanosecond intervals that have elapsed since 1/1/0001, 12:00am.</para><para>Use the <see cref="P:System.DateTime.Now" /> property to obtain the current local date and time on this computer.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the number of milliseconds elapsed since the system started.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="UserDomainName"><MemberSignature Language="C#" Value="public static string UserDomainName { get; }" /><MemberSignature Language="ILAsm" Value=".property string UserDomainName" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>Domain name of the current user.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The domain account credentials for a user are formatted as the user's domain name, the '\' character, and user name. Use the <see cref="P:System.Environment.UserDomainName" /> property to obtain the user's domain name without the user name, and the <see cref="P:System.Environment.UserName" /> property to obtain the user name without the domain name.  For example, if a user's domain name and user name are CORPORATENETWORK\john, the <see cref="P:System.Environment.UserDomainName" /> property returns "CORPORATENETWORK". </para><para>The <see cref="P:System.Environment.UserDomainName" /> property first attempts to get the domain name component of the Windows account name for the current user. If that attempt fails, this property attempts to get the domain name associated with the user name provided by the <see cref="P:System.Environment.UserName" /> property. If that attempt fails because the host computer is not joined to a domain, then the host computer name is returned.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the network domain name associated with the current user.</para></summary></Docs></Member><Member MemberName="UserInteractive"><MemberSignature Language="C#" Value="public static bool UserInteractive { get; }" /><MemberSignature Language="ILAsm" Value=".property bool UserInteractive" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="P:System.Environment.UserInteractive" /> property reports false for a Windows process or a service like IIS that runs without a user interface. If this property is false, do not display modal dialogs or message boxes because there is no graphical user interface for the user to interact with.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether the current process is running in user interactive mode.</para></summary></Docs></Member><Member MemberName="UserName"><MemberSignature Language="C#" Value="public static string UserName { get; }" /><MemberSignature Language="ILAsm" Value=".property string UserName" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>The username of the account the current process is running under.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>You can use the <see cref="P:System.Environment.UserName" /> property to identify the user on the current thread, to the system and application for security or access purposes. It can also be used to customize a particular application for each user.</para><para>The domain account credentials for a user are formatted as the user's domain name, the '\' character, and user name. Use the <see cref="P:System.Environment.UserDomainName" /> property to obtain the user's domain name and the <see cref="P:System.Environment.UserName" /> property to obtain the user name. A user name is typically an abbreviated combination of the user's first and last names.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the user name of the person who is currently logged on to the Windows operating system.</para></summary></Docs></Member><Member MemberName="Version"><MemberSignature Language="ILASM" Value=".property class System.Version Version { public hidebysig static specialname class System.Version get_Version() }" /><MemberSignature Language="C#" Value="public static Version Version { get; }" /><MemberSignature Language="ILAsm" Value=".property class System.Version Version" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Version</ReturnType></ReturnValue><Parameters /><Docs><value><para>A <see cref="T:System.Version" /> object that contains the major, minor, build, and 
 revision numbers of the execution engine.</para></value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>For more information about the version of the common language runtime that is installed with each version of the .NET Framework, see <format type="text/html"><a href="f75a72de-e2f2-4a7a-9574-3f278684ea90">.NET Framework Versions and Dependencies</a></format>.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a <see cref="T:System.Version" /> object that describes the major, minor, build, and revision numbers of the common language runtime.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="WorkingSet"><MemberSignature Language="C#" Value="public static long WorkingSet { get; }" /><MemberSignature Language="ILAsm" Value=".property int64 WorkingSet" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int64</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the amount of physical memory mapped to the process context.</para></summary></Docs></Member></Members><TypeExcluded>0</TypeExcluded></Type>