【发布时间】:2013-08-12 02:16:40
【问题描述】:
哪一种代码更好?
代码1:
if (!Directory.Exists("DirectoryPathHere"))
Directory.CreateDirectory("DirectoryPathHere");
代码2:
Directory.CreateDirectory("DirectoryPathHere");
我认为 Code2 因为我看到它没有给出任何错误并且当文件夹已经存在时它不会创建新文件夹,所以我认为检查文件夹是否存在是无用的。对吧?
【问题讨论】:
-
此类问题的第一站是MSDN。在这种情况下,两秒钟的谷歌搜索
Directory.CreateDirectory将引导您找到正确的答案。 -
@paddy 我已经知道 MSDN 所说的(我自己弄清楚了),但人们仍在检查文件夹是否存在,所以我想知道为什么?
-
尽管如此,像这样的防御性编程从来都不是一个坏主意。所以我个人会选择第 1 版。
-
是 Code2 也是正确的。 CreateDirectory 本身会检查目录是否存在。如果不存在,它将创建。我也同意@SimonWhitehead。
-
@xoemab 有时你想警告你的用户这个文件夹存在,这样他们就不会错误地覆盖他们当前的文件夹,也许这是一个原因,另一个是有些人对错误过于痴迷所以他们会在任何地方进行无根据的检查:)(我也是心理学家)