4
xyz
という名前のフォルダが(再帰的に)指定されたパスに存在するかどうかを確認し、終了した場合は完全なパスを取得してファイルをコピーできますか? 以下のようなものが動作するか、何か不足していますか?特定の名前のディレクトリがc#に存在するかどうかをチェックする方法は?
if (Directory.Exists(Path.Combine(textBox1.Text, "xyz"))
{
string directoryPath = Path.GetDirectoryName(textBox1.Text);
}
もっと簡単な方法がありますか? 'Directory.GetDirectories'は配列を返します。 –
あなたが探しているものによって異なります。配列は、Directory.GetDirectories(root、directoryName、SearchOption.AllDirectories).FirstOrDefault()を使用してnullまたはリストの最初の項目を取得できるように、IEnumerableに型キャスト可能です。私はあなたがリストを必要とすることを期待するだろうが、私はそれがあなたが達成しようとしているものに依存していると思う。 – Kell
EnumerateDirectoriesが好ましいでしょうし、列挙可能なものを返します。 GetDirectoriesは一度にすべての結果を返します。つまり、何千ものマッチがあった場合、大きな配列を取得すると時間がかかる可能性があります。一方、EnumerateDirectoriesは、Any/First/FirstOrDefaultを使用していて最初の一致で停止し、必要に応じてToArray/ToListをいつでも呼び出すことができます。おそらくここでは大したことではありませんが、この正確なことは、プロダクションアプリで私を噛まれてしまいました。GetDirectories/GetFilesを決して使用していないからです。 – pinkfloydx33