FileInfo.Exists / Copy比File快吗?

时间:2013-06-03 12:17:32

标签: c# file io copy exists

正如标题所说,以下哪一种情况更快?

        // Using FileInfo
        FileInfo file = new FileInfo(@"C:\Test.txt");

        if (file.Exists)
            file.CopyTo(@"C:\TestCopy.txt");

        // Using File
        if (File.Exists(@"C:\Test.txt"))
            File.Copy(@"C:\Test.txt", @"C:\TestCopy.txt");

我知道FileInfo更容易让人眼睛阅读,但是一种方法比另一种更快?

1 个答案:

答案 0 :(得分:3)

区别在于FileInfo缓存信息:文件现有检查执行一次。 然后,如果检查Exists属性并然后检查创建文件,则对Exists属性的新调用将始终返回false。