正如标题所说,System.IO的Directory类中有一个Directory.Move但没有Directory.Copy
方法。这有什么原因吗?
更新:
对我来说,复制和移动操作几乎相同,唯一的区别是移动操作执行复制然后删除目标。错误处理对于移动和复制一样复杂。因此,如果实施了一个,为什么没有实施另一个?
更新 2:
这是来自 mmclean 评论的引述:
Directory.Move 然而不移动,它重命名。因此,“目标”路径是指向目录的完整路径,而不是“移动到”的位置,并且不可能移动到不同的驱动器。
所以我知道move实际上会进行重命名操作(仅在文件分配表中进行更改和输入)。但是移动和复制命令在合并目标中存在的项目时都有相同的问题(覆盖/保留两者)。因此,复制操作唯一增加的复杂性是它必须物理复制文件。但这仍然不能解释不实施它的决定。更重要的是,当复制命令在 VB.NET 中实现时,MSDN 上有一个非常简单的复制操作实现。