温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用C# 怎么实现一个回到上一层目录功能

发布时间:2021-01-14 14:30:49 来源:亿速云 阅读:592 作者:Leah 栏目:开发技术

利用C# 怎么实现一个回到上一层目录功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

其实很简单也很无脑,但却很实用,就是使用拆字符串的方法:

/// <summary>
    /// 获得项目的根路径
    /// </summary>
    /// <returns></returns>
    public string GetProjectRootPath()
    {
      string rootPath = "";
      string BaseDirectoryPath = AppDomain.CurrentDomain.BaseDirectory; // F:\project\WPF\AstroATE-PDR\04. 程序\01. 源代码\AstroATE\AstroATE\bin\Debug
      // 向上回退三级,得到需要的目录
      rootPath = BaseDirectoryPath.Substring(0, BaseDirectoryPath.LastIndexOf("\\")); // 第一个\是转义符,所以要写两个
      rootPath = rootPath.Substring(0, rootPath.LastIndexOf(@"\"));  // 或者写成这种格式
      rootPath = rootPath.Substring(0, rootPath.LastIndexOf("\\")); // @"F:\project\WPF\AstroATE-PDR\04. 程序\01. 源代码\AstroATE\AstroATE
      return rootPath;
    }

调用该函数:

string str = GetProjectRootPath() + @"\data\帮助文档.pdf";  //找到需要找的文件

好了,这样就解决了。

补充:C# 如何获取可执行文件路径的上上级目录

第一种:

DirectoryInfo di = new DirectoryInfo(string.Format(@"{0}..\..\", Application.StartupPath)); 
di.FullName

..\有几个就是往回退几层

第二种:

DirectoryInfo info = new DirectoryInfo(Application.StartupPath); 
String path = info.Parent.Parent.FullName;

第三种:

string WantedPath = Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf(@"\"));

关于利用C# 怎么实现一个回到上一层目录功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI