【发布时间】:2011-04-29 12:41:36
【问题描述】:
为什么有两个用于几乎相同目的的类 System.IO.File 和 System.IO.FileInfo。
【问题讨论】:
-
我希望你能对 cmets 投反对票。
-
@Rei Miyasaka:为什么会这样?
-
因为你既不乐于助人也不友好也不有趣。
标签: c#
为什么有两个用于几乎相同目的的类 System.IO.File 和 System.IO.FileInfo。
【问题讨论】:
标签: c#
System.IO.File 提供与处理文件相关的静态成员,而System.IO.FileInfo 表示特定文件并包含用于处理该文件的非静态成员。
来自 MSDN:
因为所有 File 方法都是静态的, 使用 a 可能更有效 文件方法而不是 对应的 FileInfo 实例方法 如果你只想执行一个 行动。所有 File 方法都需要 您所在文件的路径 操纵。
File类的静态方法 对所有人进行安全检查 方法。如果你要重用一个 对象多次,考虑使用 对应的实例方法 FileInfo 代替,因为安全性 检查并不总是必要的。
【讨论】:
一般来说,他们做了两件非常不同的事情:
System.IO.File - 获取/使用任何文件System.IO.FileInto - 获取/使用(包括元数据)特定文件当然,它们确实共享一些具有相同目的的方法,但在大多数情况下,它们具有非常不同的目的/场景,它们最适合。
【讨论】: