当字符串 "D:\test\..." 传递给System.IO.Directory.Exists
方法时,它会True
在我的机器上返回。我检查了以下代码;
public static void Main(string[] args)
{
if (Directory.Exists("D:\\test\\..."))
Console.WriteLine("Directory exist."); //Control gets here
else
Console.WriteLine("Does not exist.");
}
即使指定位置不存在名称为“...”(三点)的目录,也会发生这种情况。
对此的进一步调查表明,不知何故,它只是通过完全忽略字符串的最后一部分来检查“D:”。由于父目录存在,它返回true。
我想知道是否有任何方法可以在不切断尾随点的情况下进行检查?
是否存在这种Directory.Exists
方法的结果可能与预期不同的情况?
更新: 如果我在 Windows 资源管理器的地址栏中输入相同的字符串“D:\test\...”并按回车,则可以识别它找不到这样的目录。有没有办法获得类似的行为?
注意:我知道具有这样名称的目录不存在,但我从用户那里得到输入字符串,所以这个方法的输入可以是任何东西。