gpt4 book ai didi

c# - 为什么路径正在改变

转载 作者:行者123 更新时间:2023-11-30 13:21:01 26 4
gpt4 key购买 nike

我有代码以两种不同的形式检索目录路径。如果在一种形式中,我选择一个路径来打开文件并处理它,当返回到另一种形式时,我会收到 Direcotry Exception 错误。我曾经使用不同的字符串来获取该路径

在第二种形式中我称之为:

       string strFilePath2;
strFilePath2 = Directory.GetCurrentDirectory();
strFilePath2 = Directory.GetParent(strFilePath2).ToString();
strFilePath2 = Directory.GetParent(strFilePath2).ToString();
strFilePath2 = strFilePath2 + "\\ACH";

在我的第一个表单中,我调用了:

       strFilePath = Directory.GetCurrentDirectory();
strFilePath = Directory.GetParent(strFilePath).ToString();
strFilePath = Directory.GetParent(strFilePath).ToString();
strFilePath = strFilePath + "\\ACH\\" + Node;

在调试过程中,我从第二种形式中获得了选定的路径,但不是我期望的路径。谁能说说为什么?

最佳答案

你检查当前目录的值了吗?

OpenFileDialog 通常会更改当前目录。您可以使用 RestoreDirectory 控制该行为属性:

OpenFileDialog ofd = new OpenFileDialog();

ofd.RestoreDirectory = true ; // this will not modify the current directory

顺便说一句,您正在连接代码示例中的路径。在 .NET 中,这最好使用静态 Path.Combine 方法来完成。此方法将检查是否存在反斜杠(或任何系统的路径分隔符)并在缺少反斜杠时自动插入:

strFilePath = Path.Combine(strFilePath, "ACH");

关于c# - 为什么路径正在改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3297485/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com