問題タブ [system.io.directory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
568 参照

c# - System.IO.Directory.Exists が期待どおりに機能しない

文字列「D:\test\...」がメソッドに渡されると、マシンSystem.IO.Directory.Existsに返さTrueれます。次のコードを確認しました。

これは、指定した場所に「...」(3 つのドット) という名前のディレクトリが存在しない場合でも発生します。

これをさらに調査すると、文字列の最後の部分を完全に無視して、内部的に「D:」のみをチェックしていることがわかります。親ディレクトリが存在するため、true を返しています。

末尾のドットを切り落とさずに確認する方法があるかどうか知りたいですか?

Directory.Existsメソッドの結果が予想と異なる可能性があるシナリオはありますか?

更新: Windows エクスプローラーのアドレス バーに同じ文字列 "D:\test\..." を入力して Enter キーを押すと、そのようなディレクトリが見つからないことを識別できます。同様の動作を得る方法はありますか?

注: そのような名前のディレクトリが存在しないことはわかっていますが、ユーザーから入力文字列を取得しているため、このメソッドへの入力は何でもかまいません。