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

Dan*_*est 0 c# environment-variables winforms

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

t = Environment.GetEnvironmentVariable(Environment.GetFolderPath(Environment.SpecialFolder.Personal));
Run Code Online (Sandbox Code Playgroud)

但是一直t都是null.

Use*_*678 5

问题的根源在于,Environment.GetEnvironmentVariable当您真的不需要时,您正在打电话.

您的代码成功获取了目录路径,但随后您继续传递所述目录路径GetEnvironmentVariable(),然后继续查看系统的环境变量,查找名为"user\my_documents"的环境变量.因为不存在这样的环境变量,所以函数将返回null.

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

var foo = 
     Environment.GetFolderPath(Environment.SpecialFolder.Personal);
Run Code Online (Sandbox Code Playgroud)