为什么 DirectoryInfo 不提供统一的方法来获取文件夹的限定名称。
在此示例中:
class Program
{
static void Main(string[] args)
{
System.IO.DirectoryInfo DirInfo = new System.IO.DirectoryInfo(@"C:\TEMP\");
Console.WriteLine(DirInfo.FullName);
System.IO.DirectoryInfo DirInfo2 = new System.IO.DirectoryInfo(@"C:\TEMP");
Console.WriteLine(DirInfo2.FullName);
Console.ReadLine();
}
}
无论目录是否实际存在,FullName 只是反射(reflect)用户在对象中的输入,但您无法确定最终是否获得了带有“\”的路径。
在 MSDN 文档中提到了从 FileSystemInfo 的继承,其中可以通过属性 FullPath 检索 FQN,但我似乎无法从 DirectoryInfo 的实例访问它。
是否有一个技巧或其他方法/字段来确保路径始终具有相同的格式?
最佳答案
如果尾部反斜杠不存在,则无法获取它。它是完全可选的,但无论它是否存在,也不会对您的程序产生影响。但如果你想确保这一点:
char[] blackslashes = {Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar};
string dirPath = @"C:\TEMP";
if (!blackslashes.Contains(dirPath.Last()))
dirPath += "\\";
System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(dirPath);
关于c# - 目录的全名、全路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52423130/