C# FileInfo.LastWriteTime如何早于FileInfo.CreationTime?

C# FileInfo.LastWriteTime如何早于FileInfo.CreationTime?,c#,file,time,C#,File,Time,我今天调试了一些代码,注意到我的一个FileInfo对象的LastWriteTime早于其CreationTime时间。这是可能的/预期的吗?文件的这些属性可以修改为任何值。所以绝对没有什么可以阻止这一切的发生 也就是说,最可能的解释是文件是从一个地方复制到另一个地方的。创建时间将是复制发生的时间。修改时间将是上次修改源文件的时间,即在复制之前。因此,复制文件时,也会复制修改时间。要看到这种情况发生,只需在您的计算机上选择一个文件。创建副本(CTRL+C、CTRL+V)并查看副本的属性 换句话说

我今天调试了一些代码,注意到我的一个
FileInfo
对象的
LastWriteTime
早于其
CreationTime
时间。这是可能的/预期的吗?

文件的这些属性可以修改为任何值。所以绝对没有什么可以阻止这一切的发生

也就是说,最可能的解释是文件是从一个地方复制到另一个地方的。创建时间将是复制发生的时间。修改时间将是上次修改源文件的时间,即在复制之前。因此,复制文件时,也会复制修改时间。要看到这种情况发生,只需在您的计算机上选择一个文件。创建副本(CTRL+C、CTRL+V)并查看副本的属性


换句话说,创建时间晚于修改时间实际上并不矛盾。创建时间是创建此文件对象的时间。修改时间是文件内容被修改的时间。

当然有可能。文件的创建和修改时间只是元数据,任何人都可以更改它。

此方法可能返回不准确的值,因为它使用的本机函数的值可能不会被操作系统持续更新


确保可能,只需复制一些文件并将其放在同一文件夹中,您将看到日期不同: