在 .NET Core 中使用波形符 (~) 展开路径

lon*_*nix 6 c# directory path .net-core

~如果我使用带有, eg的磁盘(不是 URL)路径~/mike/foo,则运行时会将其附加到当前工作目录而不是扩展它。

这些不起作用:

  • Path.GetFullPath
  • Path.Combine

是否有内置的 .NET Core 功能可以安全地跨平台扩展这样的路径?

lon*_*nix 5

我的跨平台解决方法:

myPath = myPath
  .Replace("~", Environment.GetFolderPath(Environment.SpecialFolder.UserProfile))
  .Replace("//", "/");
Run Code Online (Sandbox Code Playgroud)

但一如既往,可能存在边缘情况(尤其是跨平台)。因此,内置 .NET Core 函数(如果存在)是更好的选择。

(请添加您的答案,我会接受。)