给定一个路径(可能是相对路径),我如何检查路径是目录,guid还是文件。它们可能不存在,这使我难以找到解决方案。
我之前的解决方案是检查路径是否是这样的扩展名:
public bool IsDirectory(string path)
{
var extension = Path.GetExtension(path);
return string.IsNullOrEmpty(extension);
}
但是我发现这条路径通常也是指导路径,所以上面的内容是不正确的。
有没有更好的方法可以编写一个函数来检查所有这些情况?
答案 0 :(得分:3)
这将首先检查它是文件还是路径,如果不是,我们会尝试解析它是否为guid。
if(File.Exists(path))
{
FileAttributes attr = File.GetAttributes(path);
if (attr.HasFlag(FileAttributes.Directory))
MessageBox.Show("Its a directory");
else
MessageBox.Show("Its a file");
}
else
{
Guid guid;
if (Guid.TryParse(path, out guid))
MessageBox.Show("Its a Guid");
}