使用c#比较两个文件夹内容

时间:2010-12-03 09:17:02

标签: c#

我需要根据

比较两个文件夹内容
1.No of files
2.Size of files
3 date

我在这段代码中得到了错误索引超出范围的异常

 private void SeekFiles(string Root)
    {
    string[] Files = System.IO.Directory.GetFiles(Root);
    string[] Folders = System.IO.Directory.GetDirectories(Root);
    FileInfo File;
       for(int i=0; i< Folders.Length; i++)
    {
    File = new FileInfo(Files[i]);
    FolderSize += File.Length;
    }

    for(int i=0; i< Folders.Length-1; i++)
    {
    SeekFiles(Folders[i]);
    }
    } 

任何建议??

3 个答案:

答案 0 :(得分:3)

看起来你在错误的集合上使用了错误的索引:

for(int i=0; i< Folders.Length; i++)
{
    File = new FileInfo(Files[i]);
    FolderSize += File.Length;
}

应该是:

for(int i=0; i< **Files.Length**; i++)
{
    File = new FileInfo(Files[i]);
    FolderSize += File.Length;
}

答案 1 :(得分:2)

你正在使用Files [i],但我&lt; Folders.Length在第一个。

答案 2 :(得分:1)

for(int i=0; i< Folders.Length; i++)

{
File = new FileInfo(Files[i]);
FolderSize += File.Length;
}

这应该是Files.Length