这是检查环境变量是否已定义的代码
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。
答案 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
值。