【问题标题】:Why is this environment variable always null?为什么这个环境变量总是空的?
【发布时间】:2013-08-12 15:58:05
【问题描述】:

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

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

t 始终为空。

【问题讨论】:

  • 你认为那会做什么?你认为GetEnvironmentVariable 会做什么?你知道什么是环境变量吗?

标签: c# winforms environment-variables


【解决方案1】:

问题的根源是您在真正不需要时调用Environment.GetEnvironmentVariable

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    相关资源
    最近更新 更多