我是C sharp的自学者。我使用代码if (Environment.GetEnvironmentVariable("TS_STRIP_DEV") == null)
来检查环境变量是否可用。代码检查值是否为NULL,即。它不存在。如果值存在且值等于字符串“NULL”,“null”或“nul”
答案 0 :(得分:1)
在C#中,null值是特殊的,并且与具有“null”的字符串无关,因为它的值。 “null”不等于null。
如果该值可能不存在,或者它可能并且可能是字符串值,这意味着它没有设置,那么您需要单独检查每种情况,即
static void Main(string[] args)
{
string tsStripDev = Environment.GetEnvironmentVariable("TS_STRIP_DEV");
if (tsStripDev == null || tsStripDev == "null" || tsStripDev == "nul")
Console.WriteLine("TS_STRIP_DEV was not set");
else
Console.WriteLine("TS_STRIP_DEV = {0}", tsStripDev);
Console.ReadLine();
}
答案 1 :(得分:0)
null
与"null"
不同。
以前表示该值不存在。即对象尚未初始化。
例如
string s;
后者是一个值,即值存在且该值为“null” 像
string s = "null";
这里s被初始化,其值为“null”。这可以是
string s = "someuser";
答案 2 :(得分:0)
注意: null
与"null"
不同。
null
是引用类型变量的默认值。它表示引用类型变量指向nothing/no instance
。
所以
string str; //here str referes no string instance so str contains null.
但如果你指定一些字符串,那么str指向它的实例,它不会是null
string str="null"; //here str is not equals to null but equals to "null"
其中"null"
是一个字符串,与其他字符串一样。
解决方案:您可以将字符串转换为小写,然后比较
试试这个:
if (Environment.GetEnvironmentVariable("TS_STRIP_DEV") != null)
{
if(!Environment.GetEnvironmentVariable("TS_STRIP_DEV").ToString().
ToLower().Equals("null"))
{
}
}