[英]checking if a directory exists in any drive of a client machine using c#
[英]Is there any point in checking if a directory exists before creating it in C#?
当我想做涉及读和写目录的任何事情时,我总是习惯检查目录是否存在,如果不存在,我将创建它。 这样做有什么意义吗? 如果我运行以下代码,我不会例外。 创建一个已经存在的目录并没有什么不好。
Directory.CreateDirectory("C:\\test");
Directory.CreateDirectory("C:\\test");
对我来说,先检查似乎是浪费资源。 如果该目录不存在,则需要执行2条命令。 我可以想象CreateDirectory在执行任何操作之前先执行检查,因此,在这种情况下,这样做绝对是多余的。
所以提出这个问题。 创建目录时,应该执行以下操作还是可以放弃if语句?
if(Directory.Exists("C:\\test")) Directory.CreateDirectory("C:\\test");
注意-我知道这里的性能优势非常之小,我对保持代码整洁和不需要的行更感兴趣。
除非已存在,否则在指定路径中创建所有目录和子目录。
如果您打算创建新目录或使用现有目录,则无需检查是否存在。
此外,阅读有关Directory.Exists
:
如果尝试确定指定文件是否存在时发生任何错误,则Exists方法将返回false
Exists
不能用来确定CreateDirectory
是否会成功,所以您是对的,这没有任何意义。 在CreateDirectory
期间仍将引发任何异常(例如,无效名称)。
仅当目录已存在时您必须执行某些操作(例如,关闭位于此目录中的打开文件或将此信息添加到日志中)才有意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.