在C#中查找是否定义了环境变量

时间:2014-03-17 09:52:59

标签: c# environment-variables

这是检查环境变量是否已定义的代码

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            if(Environment.GetEnvironmentVariable("qwert")==null)
            Console.WriteLine(Environment.GetEnvironmentVariable("qwert"));
        Console.WriteLine("hello");
        }
    }
}

但问题是如果我将环境变量值设置为null,则执行if语句。这是什么解决方法?代码应该适用于设置任何变量值的条件或者设置为null。

enter image description here

4 个答案:

答案 0 :(得分:0)

试试这个:

 if(Environment.GetEnvironmentVariable("qwert") != null 
       && !Environment.GetEnvironmentVariable("qwert").ToString().Equals("null"))

答案 1 :(得分:0)

您的代码应为

if(!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("qwert")))
    Console.WriteLine(Environment.GetEnvironmentVariable("qwert"));
Console.WriteLine("hello");

答案 2 :(得分:0)

最简单的方法是再次注销。系统级别的环境变量更改(例如,您在那里使用的对话框)仅在默认情况下由资源管理器选取,并且没有其他正在运行的进程获取更改。因此,要么再次启动程序(如果从VS启动它,首先重新启动Visual Studio),要么只注销一次并再次登录以获得一个干净的平台。

答案 3 :(得分:0)

Variable value: null实际上并不代表null。我认为您应该将其留空以获得C#等效null值。