2009-08-05 7 views
6

ディレクトリ内のファイル/サブディレクトリの数を判断する必要があります。私はどのファイル/ディレクトリが実際にそのディレクトリにあるかは気にしません。使用するより効率的な方法がありますかディレクトリ内のファイル数を確認する

_directoryInfo.GetDirectories().Length + 
_directoryInfo.GetFiles().Length 

ありがとうございます。

+0

重複: http://stackoverflow.com/questions/1192951/quicker-quickest-way-to-get-number-of-files-in-a-directory-with-over-200-000 -f http://stackoverflow.com/questions/349251/how-do-i-find-out-how-many-files-are-in-a-directory – JohnFx

答えて

13

恋愛小説家については、おそらくですが、あなたはあなたのファイルとディレクトリの両方を与えるであろう代わりにGetFileSystemInfos()を使用する必要があります。

_directoryInfo.GetFileSystemInfos().Length 
+0

私はそれを試みます。ありがとう。 – Mav3rick

2
string[] filePaths = Directory.GetFiles(@"c:\MyDir\"); 

そしてちょうどファイルパスの配列

の大きさを取ります

コードから: C#-Examples

+0

Sean Brightsさんの回答がおそらくあなたのコードに適しています –

2

あなたは0で見つかったGetFileSystemEntries方法を使用することができますクラスを検索し、返された項目の配列のLengthを照会します。

1
DirectoryInfo d = new DirectoryInfo(@"C:\MyDirectory\"); 
FileInfo[] files = d.GetFiles("*.*"); 

int NumberOfFilesInDir; 

foreach(FileInfo file in files) 
{ 
    NumberOfFilesInDir++; 
} 
+0

なぜfiles.Lengthをやってみませんか? –

+1

私は独学のプログラマーで、以前はその方法を使っていませんでした。私は元の答えが良くないことを暗示しようとしていなかった、私は単に別の方法を提供していた... :-) –