System.Environment.GetEnvironmentVariable 方法

本文提供了此 API 参考文档的补充说明。

该方法 GetEnvironmentVariable 从当前进程检索环境变量的值。

环境变量名称在类似 Unix 的系统上区分大小写,但在 Windows 上不区分大小写。

注释

托管调用方看不到由本机库在进程内部所做的环境修改。 相反,本机库看不到托管调用方所做的这种修改。

GetEnvironmentVariable(String) 方法

该方法 GetEnvironmentVariable(String) 仅从当前进程的环境块中检索环境变量。 这相当于调用 GetEnvironmentVariable(String, EnvironmentVariableTarget) 方法,并将 target 的值设为 EnvironmentVariableTarget.Process

若要检索所有环境变量及其值,请调用该方法 GetEnvironmentVariables

在 Windows 系统上

在 Windows 系统上,当前进程的环境块包括:

如果在进程启动后创建环境变量,则可以使用此方法仅检索通过调用 SetEnvironmentVariable(String, String) 方法或 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 值为 target .EnvironmentVariableTarget.Process的方法创建的变量。

在类似 Unix 的系统上

在类似 Unix 的系统上,当前进程的环境块包含以下环境变量:

类似 Unix 的系统上的 .NET 不支持每台计算机或每用户环境变量。

GetEnvironmentVariable(String, EnvironmentVariableTarget) 方法

若要检索所有环境变量及其值,请调用该方法 GetEnvironmentVariables

在 Windows 系统上

在 Windows 上,该 target 参数指定是从当前进程还是从当前用户或本地计算机的 Windows作系统注册表项中检索环境变量。 所有每用户和每台计算机环境变量都会自动复制到当前进程的环境块中,与创建 .NET 进程的父进程可用的任何其他环境变量一样。 但是,通过调用 SetEnvironmentVariable(String, String) 方法或 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 方法,并将 target 值设置为 EnvironmentVariableTarget.Process,添加到当前进程的环境块中的环境变量仅在进程的持续时间内持续存在。

在类似 Unix 的系统上

在类似 Unix 的系统上,该方法 GetEnvironmentVariable(String, EnvironmentVariableTarget) 仅支持 targetEnvironmentVariableTarget.Process 。 不支持 target 值为 EnvironmentVariableTarget.MachineEnvironmentVariableTarget.User 的调用,并返回 null

每个进程环境变量包括: