私はもう試した
if(Directory.Exists(path))
//is directory
else
//is file
しかし、これは常に機能するとは限りません。理由がわからない。何か案は?
チェック中にエラーが発生した場合、またはユーザーに十分な権限がない場合、Directory.ExistsとFile.Existsの両方がfalseを返します。
Directory.Existsのドキュメントから
ディレクトリに対する少なくとも読み取り専用のアクセス許可がない場合、Existsメソッドはfalseを返します。指定されたファイルが存在するかどうかを判別しようとしているときにエラーが発生した場合、Existsメソッドはfalseを返します。
File.Existsのドキュメントから
呼び出し元に指定されたファイルを読み取るための十分な権限がない場合、例外はスローされず、パスの存在に関係なくメソッドはfalseを返します...指定されたファイルが存在するかどうかを判断しようとしているときにエラーが発生した場合、Existsメソッドはfalseを返します。