C# 环境类 SetEnvironmentVariable() 方法及示例
环境类提供有关当前平台的信息并操作当前平台。它对于获取和设置各种与操作系统相关的信息很有用。我们可以使用它来检索命令行参数信息、退出代码信息、环境变量设置信息、调用堆栈信息的内容以及自上次系统启动以来的时间(以毫秒为单位)信息。此类提供不同类型的方法和属性,SetEnvironmentVariable() 方法就是其中之一。该方法用于创建、删除或修改环境变量。此方法以两种不同的方式重载:
1、SetEnvironmentVariable(String, String):通过使用SetEnvironmentVariable()方法我们可以创建、删除或修改当前进程中存储的环境变量。
语法:
public static void SetEnvironmentVariable (string varstr, string? val);
该方法采用两个名为 varstr 和 val 的参数。这里,varstr 表示环境变量的名称,val 表示要分配给 varstr 的值。
异常:此方法将抛出以下异常:
- SecurityException:仅当调用者没有执行此操作的给定权限时才会发生此异常。
- ArgumentNullException:当 varstr 为空时发生此异常。
- ArgumentException:当 varstr 包含零长度字符串或等号时会发生此异常。或者 varstr 和 val 的长度大于等于 32、767 个字符。或者在执行该操作时发生错误。
2. SetEnvironmentVariable(String, String, EnvironmentVariableTarget):该方法用于修改、创建或删除存储在当前进程中,或为当前用户或本地机器保留的Windows操作系统注册表项中的环境变量。
句法:
public static void SetEnvironmentVariable (string varstr, string? val, EnvironmentVariableTarget t);
该方法采用三个参数,名为 varstr、val 和 t。这里,varstr 表示环境变量的名称,val 表示要分配给 varstr 的值。而t代表环境变量的位置。
异常:此方法将抛出以下异常:
- SecurityException:仅当调用者没有执行此操作的给定权限时才会发生此异常。
- ArgumentNullException:当 varstr 为空时发生此异常。
- ArgumentException:当 varstr 包含零长度字符串或等号时会发生此异常。或者 varstr 和 val 的长度大于等于 32、767 个字符。或者在执行该操作时发生错误。或者 t 不是 EnvironmentVariableTarget 的成员。
例子:
C#
// C# program to illustrate the use of
// SetEnvironmentVariable() method
using System;
using System.IO;
class GFG{
static public void Main()
{
// Declare variable
string variable = "Geeks";
// Declare value
string value = "True";
// Check whether the value stored in environment variable
if (Environment.GetEnvironmentVariable(variable) == null)
{
Environment.SetEnvironmentVariable(variable, value);
Console.WriteLine("In environment variable, the value is stored");
}
else
{
Console.WriteLine("In environment variable, the value is already stored");
}
}
}
输出:
In environment variable, the value is stored