为什么C#中没有Directory.Copy

Bra*_*nck 13 .net c# directory

我正在使用大量IO操作在C#中编写程序.其中一些操作是复制目录.

当我发现你在C#中没有像Directory.copy(SourceDir,DestinationDir)这样的东西时,我真的很震惊.

我google了一下,在msdn他们给了一个代码样本来复制目录.(http://msdn.microsoft.com/en-us/library/bb762914.aspx).但是当你进一步搜索时,Microsoft.VisualBasic.FileIO命名空间中有一个Directory.Copy方法.(http://msdn.microsoft.com/en-us/library/ms127957.aspx)

我可以参考这个命名空间并使用这种方法,但是必须有一个原因,为什么微软不支持C#,以及为什么他们没有在msdn上提到它.

希望有人能告诉我原因.

我可以编写扩展方法来解决这个问题,我可以很容易地解决它,但我的问题是为什么?为什么C#中没有这样的方法,我只想知道:-)

Rob*_*vey 5

因为它是很容易做foreach的一个DirectoryInfo.GetFiles(),同时也给你一个机会来过滤被复制的文件列表,或做一些其他的操作,除了抄袭。

如果确实困扰您,请为DirectoryInfo该类或一个FileInfo[]集合编写扩展方法。

  • @Bram:Xml文字也可以在Microsoft.VisualBasic名称空间中使用,以及其他一些功能。C#团队喜欢简洁;如果某项功能无法提供明显的增值,则不包含该功能。 (4认同)
  • @Bram可能是出于遗留原因。毕竟,VB.NET充满了旧式语法和结构,使VB6开发人员可以更轻松地迁移到.NET。 (3认同)