[英]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.