如何获取C#中主目录的路径?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (56)

好的,我已经检查过Environment.SpecialFolder,但是这里没有任何内容。

我想在C#中获取当前用户的主目录。(例如,c:\documents and settings\user在XP下,c:\users\user在Vista下,/home/user在Unix下)。

我知道我可以阅读环境变量来发现这一点,但我想以跨平台的方式来做到这一点。

有没有什么办法可以用.NET来做到这一点(最好使用mscorlib)?

更新:好的,这是我最终使用的代码:

string homePath = (Environment.OSVersion.Platform == PlatformID.Unix || 
                   Environment.OSVersion.Platform == PlatformID.MacOSX)
    ? Environment.GetEnvironmentVariable("HOME")
    : Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");
提问于
用户回答回答于

Environment.SpecialFolder.Personal实际上不会返回主文件夹,它会返回我的文档文件夹。在Win32上获取主文件夹的最安全方法是阅读%HOMEDRIVE%%HOMEPATH%

编辑补充:对于跨平台(Windows / Unix)C#,我会$HOME在Unix和OSX以及%HOMEDRIVE%%HOMEPATH%Windows上阅读。

用户回答回答于
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);

扫码关注云+社区