ファイル システムを操作する場合、多くの場合、ファイルとディレクトリを区別する必要があります。この区別は、ユーザーの選択に基づいて適切なアクションを実行するために重要です。たとえば、TreeView では、ユーザーはファイルを編集するかディレクトリを探索するかを決定できます。
ファイルとディレクトリを区別する一般的なアプローチは、ディレクトリを利用することです。 GetDirectories メソッド。ただし、この方法は、例外処理や条件チェックが関与するため、やや複雑になる可能性があります。
幸いなことに、.NET にはより簡単なアプローチがあります。 FileAttributes クラスは、ファイルとディレクトリの両方のファイル属性へのアクセスを提供します。 GetAttributes メソッドを使用すると、任意のパスのこれらの属性を取得できます。
FileAttributes attr = File.GetAttributes(@"c:\Temp");
ファイル属性を取得すると、ファイルとディレクトリを簡単に区別できます。ビット単位の演算を使用したディレクトリ。属性の Directory ビットが設定されている場合、それはディレクトリを示します。それ以外の場合はファイルです。
if ((attr & FileAttributes.Directory) == FileAttributes.Directory) Console.WriteLine("It's a directory."); else Console.WriteLine("It's a file.");
.NET 4.0 以降では、HasFlag メソッドを使用して簡略化された構文を使用できます。
if (attr.HasFlag(FileAttributes.Directory)) Console.WriteLine("It's a directory."); else Console.WriteLine("It's a file.");
これらのメソッドを利用すると、パスの種類を効率的に判断し、それに基づいて適切なアクションを実行できます。ユーザーの選択に応じて。
以上が.NET でパスがファイルであるかディレクトリであるかを効率的に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。