C# 查找环境变量是否在C中定义#
下面是我检查环境变量是否已定义的代码C# 查找环境变量是否在C中定义#,c#,environment-variables,C#,Environment Variables,下面是我检查环境变量是否已定义的代码 namespace ConsoleApplication6 { class Program { static void Main(string[] args) { if(Environment.GetEnvironmentVariable("qwert")==null) Console.WriteLine(Environment.GetEnvironmentVar
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的两种情况
试试这个:
if(Environment.GetEnvironmentVariable("qwert") != null
&& !Environment.GetEnvironmentVariable("qwert").ToString().Equals("null"))
试试这个:
if(Environment.GetEnvironmentVariable("qwert") != null
&& !Environment.GetEnvironmentVariable("qwert").ToString().Equals("null"))
你的代码应该是
if(!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("qwert")))
Console.WriteLine(Environment.GetEnvironmentVariable("qwert"));
Console.WriteLine("hello");
你的代码应该是
if(!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("qwert")))
Console.WriteLine(Environment.GetEnvironmentVariable("qwert"));
Console.WriteLine("hello");
最简单的方法是注销并重新登录。默认情况下,系统级别上的环境变量更改(例如,您正在使用的对话框)仅由Explorer拾取,其他正在运行的进程不会拾取更改。因此,要么重新启动您的程序(如果您从VS启动它,请先重新启动Visual Studio),要么只需注销一次,然后再次登录,就可以获得一个全新的状态。最简单的方法是注销并再次登录。默认情况下,系统级别上的环境变量更改(例如,您正在使用的对话框)仅由Explorer拾取,其他正在运行的进程不会拾取更改。因此,要么重新启动您的程序(如果您从VS启动它,请先重新启动Visual Studio),要么只需注销一次,然后重新登录,就可以获得一份新的记录。
Variable value:null
实际上并不意味着null
。我认为您应该将其留空以获得等效的null
值。变量值:null
实际上并不意味着null
。我认为您应该将其留空,以获得一个C
等效值null
值。您确定在更改环境变量后打开了一个新控制台吗<代码>“null”和null
应该非常不同。另外,我希望您想使用=
而不是这里的=
。另外,请注意,将系统变量设置为“null”不会使其在代码中成为null
。不幸的是,它是null,两个null都是相同的。您确定在更改环境变量后打开了新控制台吗<代码>“null”和null
应该非常不同。另外,我希望您想使用=
而不是这里的==
。另外,请注意,将系统变量设置为“null”不会使代码中的null
变为null。不幸的是,它是null,两个null都是sameYes,现在起作用了我正在看这个是的,现在起作用了我正在看这个