我正在编写一个小实用程序,首先 Select 一个文件,然后我需要 Select 一个文件夹.我想将文件夹默认为所选文件所在的位置.

OpenFileDialog.FileName返回full path & filename-我想要的是只获得path portion (sans filename),所以我可以使用它作为初始的selected folder.

    private System.Windows.Forms.OpenFileDialog ofd;
    private System.Windows.Forms.FolderBrowserDialog fbd;
    ...
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        string sourceFile = ofd.FileName;
        string sourceFolder = ???;
    }
    ...
    fbd.SelectedPath = sourceFolder; // set initial fbd.ShowDialog() folder
    if (fbd.ShowDialog() == DialogResult.OK)
    {
       ...
    }

有没有什么.NET方法可以做到这一点,或者我需要使用regex, split, trim,等吗?

推荐答案

使用System.IO中的Path类.它包含用于操作文件路径的有用调用,包括返回文件路径的目录部分.

使用方法很简单.

string directoryPath = Path.GetDirectoryName(filePath);

.net相关问答推荐

.NET最小API BadRequest响应不返回正文

与 Datagrid 的 SelectedItem 链接时的 WPF RadioButton 绑定问题

NET 6:控制器方法不可访问

.NET Async / Await:状态机如何知道何时继续执行?

.net Maui 在单击按钮时访问 CollectionView 中的数据项

Dictionary.FirstOrDefault() 如何判断是否找到了结果

判断内部异常的最佳方法?

如何在 ASP.NET Core MVC 中读取操作方法的属性?

如何获取 Sql Server 数据库中所有模式的列表

Style 和 ControlTemplate 的区别

将屏幕捕获为位图

在 Moq Callback() 调用中设置变量值

如何通过 LINQ 比较没有时间的 DateTime?

将双精度转换为带有 N 个小数的字符串,点作为小数分隔符,并且没有千位分隔符

静态析构函数

文件按文件名模式存在

无法加载文件或程序集Antlr3.Runtime (1)或其依赖项之一

无锁多线程适用于真正的线程专家

WinForms 中的模型视图演示者

.NET Remoting 真的被弃用了吗?