为什么这个环境变量总是为空?

时间:2013-08-11 03:09:37

标签: c# winforms environment-variables

我想自动获取目录:user\mydocuments 所以我做了:

t = Environment.GetEnvironmentVariable(Environment.GetFolderPath(Environment.SpecialFolder.Personal));

但是t始终为空。

1 个答案:

答案 0 :(得分:5)

问题的根源在于,当您确实不需要时,您正在调用Environment.GetEnvironmentVariable

您的代码成功获取了目录路径,但随后您继续将所述目录路径传递给GetEnvironmentVariable(),然后继续查看系统的环境变量,查找名为“user \ my_documents”的环境变量。由于不存在此类环境变量,因此该函数将返回null

只是不要将目录路径传递给GetEnvironmentVariable(),您的代码应按预期运行:

var foo = 
     Environment.GetFolderPath(Environment.SpecialFolder.Personal);