4

どっちのコーデがいい?

コード 1:

if (!Directory.Exists("DirectoryPathHere"))
    Directory.CreateDirectory("DirectoryPathHere");

コード 2:

Directory.CreateDirectory("DirectoryPathHere");

私が見たように、エラーが発生せず、フォルダーが既に存在する場合に新しいフォルダーを作成しないため、Code2だと思います。そのため、フォルダーの存在を確認しても意味がありません。右?

4

5 に答える 5

5

ディレクトリが既に存在するかどうかを確認する必要はありません。メソッドがそれを行います。MSDNで確認すると、次のようになります。

path で指定されたすべてのディレクトリが作成されます。ただし、それらが既に存在するか、パスの一部が無効な場合を除きます。path パラメーターは、ファイル パスではなく、ディレクトリ パスを指定します。ディレクトリが既に存在する場合、このメソッドは新しいディレクトリを作成しませんが、既存のディレクトリの DirectoryInfo オブジェクトを返します。

于 2013-08-12T02:21:05.273 に答える
2

DirectoryInfo クラスを使用して、存在するかどうかを確認し、存在する場合は、現在の実行時のアクセス許可がコンテンツにアクセスしたり、ディレクトリを更新したりするのに十分でない場合に備えて、ディレクトリのアクセス許可を確認します。どちらの方法を使用する場合でも、例外処理を適用する必要があります。たとえば、ディレクトリの名前を持つファイルが存在する場合はどうでしょうか?

于 2013-08-12T02:22:09.043 に答える