C# 如何在c中找到文件夹的路径?

C# 如何在c中找到文件夹的路径?,c#,path,xamarin,directory,C#,Path,Xamarin,Directory,我的主函数从命令行获取参数。 这个论点看起来像 --args ../../TempImages ../Resources.csproj etc. 如何从该参数中找到c中此文件夹的完整路径? 像 我尝试使用Path、Directory和environment类,但没有任何帮助 我使用的是Xamarin,MacOSX 10.9 编辑: 忘了说,我不知道上面提供的完整路径。我的脚本在不同的系统上运行。因此,这些文件的完整路径可能不同。 莫里亚蒂的回答对我有帮助,但在这种情况下,它不起作用。幸运的是,

我的主函数从命令行获取参数。 这个论点看起来像

--args ../../TempImages ../Resources.csproj etc.
如何从该参数中找到c中此文件夹的完整路径? 像

我尝试使用Path、Directory和environment类,但没有任何帮助 我使用的是Xamarin,MacOSX 10.9

编辑: 忘了说,我不知道上面提供的完整路径。我的脚本在不同的系统上运行。因此,这些文件的完整路径可能不同。
莫里亚蒂的回答对我有帮助,但在这种情况下,它不起作用。

幸运的是,Mono在System.IO空间中很好地采用了这一点。您使用环境类的方向是正确的,如下所示:

var path = Path.Combine (
    Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
    "Projects", 
    "Resource", 
    "Resource.csproj");
Environment.GetFolderPath与Environment.SpecialFolder.UserProfile结合使用,可以获取Windows中称为%UserProfile%的内容

其次,请注意,我已将/Projects/Resource/part拆分为Path.Combine函数的单独参数。这是为了防止WindowsMacLinux文件操作出现问题,让mono为您解决这个问题

因此,这将适用于所有平台。享受吧

更新:
对于那些认为这是错误答案的下注者:引用的重复文章中提到的建议在Mac或Linux上不起作用。这是因为/path/with/slahes在非Windows环境中的Mono/Xamarin平台上的行为不同。这就是最初的问题。imho

Path.GetFullPath工作不正常?在Windows上,它按所需路径工作。GetFullPath../TempImages应该可以工作。如果没有,你可能应该向Mono开发者发布一个bug。你试过这样的东西吗?@AlexVoskresenskiy不,没有。他给我返回了最后一个目录名/tempmagesthanks,这样对我有一半帮助
var path = Path.Combine (
    Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
    "Projects", 
    "Resource", 
    "Resource.csproj");