📜  C# 环境类 SetEnvironmentVariable() 方法及示例

📅  最后修改于: 2022-05-13 01:55:17.607000             🧑  作者: Mango

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