同一文件的创建时间不同

问题描述

我正在查看完全相同的文件,该文件在以下之间返回不同的创建时间:

  • 我将FileInfo实例作为参数传递给函数
  • 函数中的IEnumerable<FileInfo>

请参见下面,我正在查看同一文件名称相同,请参见红色框),但是创建时间有所不同(请参见绿色框)。这怎么可能?我该如何解决?它们应该是相同的。实际上,该文件OptionTraderLog-2020-08-31_16_60_02_000018.tce)甚至不应出现在Linq表达式(B)中,因为我正在查找创建时间大于此文件的所有文件

enter image description here

请参阅此功能的相关部分:

    protected override FileInfo GetNextFile(FileInfo currentLiveFile)
    {
        // currentLiveFile is A)
        // IEnumerable generated below is B)
        var allFilesInDirectory = currentLiveFile.Directory.GetFiles()
                                                           .Where(f => f.CreationTime > currentLiveFile.CreationTime)
                                                           .Where(f => Path.GetExtension(f.Name) == _fileExtension)
                                                           .OrderBy(f => f.CreationTime);
        // Rest of function...
    }

指定的Windows创建时间与上午10:34:35对齐,但是创建时间和写入时间都相同。我认为Windows认为CreationTimeWriteTime

enter image description here

解决方法

我通过在作为参数传递给函数的.Refresh()对象以及枚举中的每个FileInfo对象(在{{1} ):

FileInfo