在用C#编写一些代码时,我想知道是否有一种方法可以获得目录信息对象的正确路径?
例如,目前我有一个目录,例如:
DirectoryInfo dirInfo = new DirectoryInfo(pathToDirectory);问题是,如果我想获取特定dirInfo对象的路径,它总是返回调试路径(bin文件夹)。如果原始dirInfo对象引用的是D:\testDirectory路径中的目录,那么我想要一种在代码中的其他位置再次获取该路径的方法,而不是获取\bin\debug\testDirectory
有没有办法做到这一点?
目前我正在尝试使用Path获取dirInfo的路径
Console.WriteLine("Path: " + Path.GetFullPath(dirInfo.ToString()));发布于 2013-11-20 01:54:17
尝尝这个。
string pathToDirctory = "D:\\testDirectory";
DirectoryInfo dirInfo = new DirectoryInfo(pathToDirctory);
string path = dirInfo.FullName;
Console.WriteLine(path);发布于 2013-11-20 01:58:25
DirectoryInfo表示特定的目录。当您创建它时,它所代表的目录取决于您为其提供的路径。如果你给它一个像c:\foo\bar\baz\bat这样的绝对路径,那就是你得到的目录。另一方面,如果您为它提供了一个相对路径,如foo\bar\baz\bat,则该路径是相对于进程的当前工作目录的。默认情况下,它是从产生当前进程的进程继承而来的。Visual Studio启动调试会话,并将被调试进程的CWD设置到其bin目录。因此,如果您创建一个DirectoryInfo并为其提供一个类似于testDirectory的路径,您将获得一个关于[project-root]\bin\Debug\testDirectory的DirectoryInfo。
如果需要绝对路径,则必须指定绝对路径。没有任何捷径可走。
https://stackoverflow.com/questions/20078438
复制相似问题